Is there a reference or a tutorial to simulate a generic transmitter in Omnet++ that transmits noise on a particular frequency? Basically, it is just a simple jammer that disturb the channel by sending random noise (no MAC layer, no Network layer, nothing).
Yes, there is the NoiseSource module that does this. It is available since INET 4.2:
https://github.com/inet-framework/inet/blob/v4.3.3/src/inet/physicallayer/wireless/noise/NoiseSource.ned
This showcase has more info:
https://inet.omnetpp.org/docs/showcases/wireless/analogmodel/doc/index.html
In order to solve this problem, you need to install Omnet, and install manually Inet by cloning the repository from GitHub: https://github.com/inet-framework/inet.
Related
Since I cannot get the manifold 2 in my region, I created a cable according to https://forum.dji.com/forum.php?mod=viewthread&tid=219723.
The cable is connected via FTDI converter directly to the drone's OSDK port.
when connected to a serial terminal application I get data from the drone
Terminal
When I try to debug the flightcontrol-sample in Linux, I get the following:
LinuxOutput
Data is also received in Linux using 'screen' command.
testing the cable for 'loopback' works fine.
I have changed the port baud rate to several options (230400 & 921600) to no avail.
the ACM cable is connected through an additional USB port to the drone's port directly.
Am I missing some HW components in my setup?
I have entered all the relevant Linux commands to get the required permissions as advised in
https://developer.dji.com/onboard-sdk/documentation/quickstart/development-environment.html
&
https://developer.dji.com/onboard-sdk/documentation/quickstart/run-the-sample.html
Am I missing something in that department?
The final goal is to use STM32 as FC, but testing is easier using the Linux environment.
Any additional things I can test?
Are there other working setup designs I can try?
Thanks for your help.
i got M300 osdk connection up at Apr 2020.
So far not many issues. There are many tricks and rules that you need to follows e.g osdk adapter board usb type C seam side face inside. make sure osdk adapter board is powered up by checking the output supply voltage. 3.3V FTDI. and make sure it is pull up properly by checking voltage as well
After you check through the hardware.
the software has many tricks as well. for M300 only osdk/osdkros 4.0 and above can drive. The new userconfig.txt format changed and you have to change accordingly. and you can go through my checklist which I posted on DJI forum https://forum.dji.com/forum.php?mod=viewthread&tid=216529
If you really still have a problem. do provide photos on your connection, the terminal output for the error message.
As Dr. Yuan suggested, have a look at the UserConfig.txt file. Depending on which OSDK version you are using, it has a different format.
In my case, using osdk 3.9 configuring it this way solved my issues:
app_id : xxx (number)
app_key : xxx (number)
device : /dev/ttyUSB0
baudrate : 230400
Also check your FTDI cable, it once burned out for me and it was the reason for this error too. You should try a new one just in case.
I use the OSDK with a raspberry pi, in case you are using this kind of linux environment, I suggest you check the configuration files (cmdline.txt and config.txt) doing sudo nano /boot/cmdline.txt and same for config.txt.
my configuration for cmdline.txt is:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
And for config.txt just add this at the end:
enable_uart=1
init_uart_clock=64000000
start_x=1
I hope these can help and that I am not too late.
I have been using nodemcu-build for 8266 modules with success for several projects.
I have been trying to replicate the same development environment using SparkFun ESP32 Thing using the beta version of nodemcu-build for ESP32.
After building, downloading a build it appears to successfully flash to the ESP32 Thing. But then
it displays the following error message:
rtc_clk_init: Possibly invalid CONFIG_ESP32_XTAL_FREQ setting (40MHz). Detected 26 MHz
From my research it appears that SparkFun build these modules with 26MHz xtals, yet the standard is for 40 MHz. The error message suggests to me that the nodemcu-build for ESP32 assumes a 40MHz xtal.
Is there any way to patch to configure for the different frequency. I found a reverse situation where the problem was to patch a 26MHz generated binary to run at 40MHz.
But I'm unwilling to start patching without having confirmation as to exactly what is the correct process.
Is there any way to patch to configure for the different frequency.
Simple answer: no, not in the cloud builder.
Elaborate answer: yes, but you have to build the firmware yourself. The relevant configuration param is documented in the ESP-IDF Programming Guide at https://docs.espressif.com/projects/esp-idf/en/stable/api-reference/kconfig.html#config-esp32-xtal-freq-sel
Main XTAL frequency
Found in: Component config > ESP32-specific
ESP32 currently supports the following XTAL frequencies:
26 MHz
40 MHz
Startup code can automatically estimate XTAL frequency. This feature
uses the internal 8MHz oscillator as a reference. Because the internal
oscillator frequency is temperature dependent, it is not recommended
to use automatic XTAL frequency detection in applications which need
to work at high ambient temperatures and use high-temperature
qualified chips and modules.
Unless you plan to very frequently build firmware binaries I suggest you give my Docker build image a try: https://github.com/marcelstoer/docker-nodemcu-build/
I am using the virtual machine instant-veins-4-7-1-i1.ova on VirtualBox.
I have created a sumo scenario with 2 vehicles (my_nodes.nod.xml, my_edge.edg.xml, my_type.type.xml, my_net.net.xml, my_net.rou.xml, my_config_file.sumocfg ).
Launching the sumo-gui command from the terminal and selecting my_config_file.sumocfg file, I can run the scenario simulation.
I have followed the Tictoc tutorial on Omnet++ site and if I run it on Omnet++ IDE, it will work fine.
In the Omnet++ IDE, I am able to run correctly the Veins Erlangen example.
Now, I would like to integrate my sumo scenario and the Tictoc network to realize a simulation similar to the Veins Erlangen example.
Which are the steps that I should follow?
Thanks.
A straightforward answer would be to modify the Veins 4.7.1 tutorial simulation's network by adding a Tic node and a Toc node. I am guessing, though, that this is not what you had in mind. You probably want to change the Veins tutorial simulation to use your my_config_file.sumocfg instead of its own erlangen.sumo.cfg file.
The file that is configured as the road traffic simulation in omnetpp.ini is called erlangen.launchd.xml. By changing this file (or configuring the simulation to use another one) you can change which SUMO scenario is simulated when you run the Veins example.
I'm new with NodeMCU firmware use. I have a Amica ESP-12E (v2?) dev kit connected to a DHT22 which I program using the Arduino IDE. All is setup and working fine.
My problem came when I wanted to update NodeMCU firmware. Since I don't really know what came pre installed from China, I downloaded ESPlorer to try to determine NodeMCU version. I get the following "error" when I reset the dev board:
Communication with MCU..Got answer! Communication with MCU established.
AutoDetect firmware...
Can't autodetect firmware, because proper answer not received (may be unknown firmware).
Please, reset module or continue.
{{a long string of weird characters that I can't copy and paste appear here}}
At this point I'm totally clueless about what version of firmware I have. Is there a way to obtain NodeMCU firmware version by software via Arduino IDE code, ESPlorer GUI or something similar?
On the other hand, is there a really easy way to compile/download latest NodeMCU firmware BIN file? Even one with all the modules active will be fine for me now, I'm just trying to understand and test things.
You seem to be confusing two very different platforms. I leave out some details as not to confuse you any further.
Arduino: you use Arduino programming in the Arduino IDE then build and install a binary to your device whenever the application changes. No NodeMCU firmware needed!
NodeMCU: you flash the NodeMCU firmware once (e.g. using esptool.py) and then upload Lua code (e.g. using ESPlorer) whenever the application changes. This is more lightweight than the Arduino platform.
On the other hand, is there a really easy way to compile/download
latest NodeMCU firmware BIN file?
Yes, have a look at the NodeMCU documentation at http://nodemcu.readthedocs.io/en/latest/en/build/. The easiest is to use the cloud builder at https://nodemcu-build.com/. I currently suggest to build from the dev branch because flashing is easier with it.
As pointed out you have several options for firmware and you'll need to make a choice as to which suits you going forward. If you are going to stick with the Nodemcu LUA firmware you can determine the version by typing:
print(node.info())
at the command line prompt.
There are alternatives to using ESPlorer e.g. Putty or Coolterm that will give you the raw output from the device with no interpretation. So if you have the correct serial port settings and the device plugged into the USB port it will show the banner when you reset giving an indication of the origin and version of the installed firmware.
In ESPlorer, there is an option under settings which if unchecked will stop looking checking for the version of the code.
For whatever reason, ESPlorer is not designed to read nodemcu version.
The error message throws you off, could lead you to think, there is an error.
At best, the above error can be ignored. It has no impact at all. In background, init.lua is up and running.
I am trying to find a gem/library that has RFCOMM and other bluetooth access on linux through bluez or other means. I am trying to port a python server that interacts with a piece of hardware (https://code.google.com/p/adqmisc/source/browse/#svn%2Ftrunk%2Fliveview) although I can not seem to find any decent bluetooth support for ruby.
I found this: https://github.com/cfiorini/rbluez although it is not in the gem repository so I don't know how to install it. It seems to have basic RFCOMM support and HCI support which seems to be all I need in order to port the project.
So is there any good ruby gems that wrap around RFCOMM/HCI to allow access to a bluetooth adapter on linux?
Thank you.
How would I go about installing that rbluez library which is not in the gems repository?
Or is it possible to initiate a bluetooth socket as you can in C with AF_BLUETOOTH? If so would this done with a client/server example.
You can easily use the rbluez code by creating your own gem. That's easy but it may take you one or a couple of days to get used to it.
Follow the steps described here to create the gem and replace the appropriate files with the ones supplied by rbluez's repository (i.e. extconf.rb and rbluez.c).
I don't guarantee rbluez will compile on your system (you'll have to check dependencies, if any) but I can assure the process described by the steps I linked above work to successfully create your gem.