ESP12-MQTT-RF-Jammer

所属分类:物联网
开发工具:C++
文件大小:4835KB
下载次数:0
上传日期:2020-04-28 22:12:52
上 传 者sh-1993
说明:  一种简单的基于ESP12和AD9851的可使用MQTT协议控制的RF干扰机
(A Simple ESP12 & AD9851 based RF Jammer which can be controlled using MQTT protocol)

文件列表:
ArduinoSketch (0, 2020-04-29)
ArduinoSketch\ESP12_MQTT_RF_Jammer (0, 2020-04-29)
ArduinoSketch\ESP12_MQTT_RF_Jammer\ESP12_MQTT_RF_Jammer.ino (6938, 2020-04-29)
ArduinoSketch\ESP12_MQTT_RF_Jammer\ESP12_MQTT_RF_Jammer.ino.d1.bin (284656, 2020-04-29)
ArduinoSketch\ESP12_RF_Jammer_Test (0, 2020-04-29)
ArduinoSketch\ESP12_RF_Jammer_Test\ESP12_RF_Jammer_Test.ino (1879, 2020-04-29)
ArduinoSketch\ESP12_RF_Jammer_Test\ESP12_RF_Jammer_Test.ino.d1.bin (267824, 2020-04-29)
Datasheet (0, 2020-04-29)
Datasheet\AD9851.pdf (760639, 2020-04-29)
LICENSE (35149, 2020-04-29)
_config.yml (25, 2020-04-29)
inAction.png (1185154, 2020-04-29)
photo1.jpg (1246818, 2020-04-29)
table1.png (13282, 2020-04-29)
test.png (1378246, 2020-04-29)

# ESP12 & AD***51 DDS RF Jammer Controlled via MQTT Protocol This project demonstrate a rather simple implementation of ESP-12 & AD***51 DDS as an RF Jammer (random frequency hopping) which can be controlled via MQTT protocol over the internet. The parameters which we can control: * RF Jamming action (enable/disable) * Starting Frequency (minimum freq.) * Stop Frequency (maximum freq.) And then the device then reports back these parameters. Tested on Wemos D1 mini and cheap AD***51 DDS module with **30MHz external clock**. Compiled using Arduino IDE 1.8.9. ## Dependencies There are a few dependencies required: * [ESP8266 Core for Arduino](https://github.com/esp8266/Arduino). Please follow the installation instruction. * [PubSubClient](https://github.com/knolleary/pubsubclient) library. Personally, I am using [this](https://github.com/knolleary/pubsubclient) library. * My [AD***51 DDS](https://github.com/handiko/AD***51) library. Please follow the installation [instruction](https://github.com/handiko/AD***51#instalation). ## ESP12 to AD***51 DDS Module Connections ![](./table1.png) **Very important:** * AD***51 DDS Module must be using **30MHz external oscillator**. * **Don't forget** to pull up the DDS D0 and D1 pins to 5V thru a 10k resistor and ground the DDS D2 pin. Otherwise, the serial programming wouldn't work (please refer to the datasheet, page 15, figure 18). * Tips: put some length of wire to the RF output pin of the AD***51 DDS module for which acts as a rudimentary antenna. It will boost the signal greatly. ![](./photo1.jpg) ## Usage * Please use your own **username, password, and mqtt broker service**, then put into: ```cpp const char* brokerUser = "my_broker_username"; const char* brokerPass = "my_broker_password"; const char* broker = "my_broker_server"; ``` personally, i am using `mqtt.dioty.co` for the broker server, therefore my username would be `myemail@email.com`. You can use another mqtt broker server. * Put your **WiFi credentials** into: ```cpp wifiMulti.addAP("ssid_from_AP_1", "your_password_for_AP_1"); wifiMulti.addAP("ssid_from_AP_2", "your_password_for_AP_2"); wifiMulti.addAP("ssid_from_AP_3", "your_password_for_AP_3"); ``` you can whether use only one SSID and password or all of them. * You can use the initial default `min_freq` and `max_freq` as is, or use another frequency accordingly. Please note that absolute maximum fundamental frequency which AD***51 can generate properly is < 90 MHz (30 MHz external osc. with 6x multiplier). * RF Jammer status, `min_freq`, and `max_freq` is reported into the `/out/stat`, `/out/minFreq`, and `/out/maxFreq` topic respectively. * RF Jammer enabling/disabling commands, and new values for the `min_freq` and `max_freq` are received from the `/in/en`, `/in/minFreq`, and `/in/maxFreq` topic respectively. ## In Action * For monitoring the signal, I'm using [RTL-SDR](https://github.com/osmocom/rtl-sdr) dongle and [GQRX](https://github.com/csete/gqrx) SDR Software (rudimentary RF Spectrum display). * My initial `min_freq` and `max_freq` are 34.8 MHz and 35.2 MHz, therefore I tuned my RTL-SDR to 35 MHz of center frequency. * After the ESP12 connected to the local WiFi, it will starts to transmit a bunch of RF signals which you can monitor. ![](./test.png) *Picture above: Initial test with the ESP12_RF_Jammer_Test.ino skecth. It will transmitting RF between 34.8MHz and 35.2MHz according to the default min_freq and max_freq values* * For controlling the RF Jammer, I'm using MQTT Dashboard smartphone app with proper settings. If I were to change the frequencies or disable/re-enable the jammer, the device would response accordingly. ![](./inAction.png) *Picture above: Demonstration for controlling the RF Jammer via MQTT protocol (ESP12_MQTT_RF_Jammer.ino skecth). First, i started off with min_freq of 40.7MHz and max_freq of 41.2MHz. Then, sometime later I changed the max_freq and then the min_freq into 41.35MHz and 40.55MHz respectively. For a couple of seconds, I disabled the RF Jammer and then re-enabled it. All is done via MQTT Dashboard app.* ## TODO * Optimize the code (there is a lot of room for improvements!!) * Adding capabitilies for controlling another I/O ports. * ... ## Contributing 1. Fork it [https://github.com/handiko/ESP12-MQTT-RF-Jammer/fork](https://github.com/handiko/ESP12-MQTT-RF-Jammer/fork) 2. Create new branch (`git checkout -b myfeature`) 3. Do some editing / create new feature 4. Commit your works (`git commit -m "Adding some feature blah blah blah.."`) 5. Push to the branch (`git push -u origin myfeature`) 6. Create a new Pull Request

近期下载者

相关文件


收藏者