ESP32 BLE Mesh only connected node can receive on/off commands - esp32

I am currently trying to implement esp32 BLE Mesh but cannot seem to figure out why only the currently connected node will respond to on/off commands
Currently i am following the example in https://github.com/espressif/esp-idf/tree/master/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server and already flashed the code to 3 esp32 boards
using the nRF android app i have done the following:
provision all nodes
assign app key to all on/off models
turn led on/off
now the main problem i am facing is that the BLE mesh feature does not seem to be working as expected, only the currently connected node responds to on/off messages, and trying to turn on an led on another node does nothing. Anyone have an idea on what i have missed, and why it is not working?

Turns out my specific board ESP32-WROOM-32U did not have internal antenna, if the boards are <1cm apart then it finally works, after purchasing antenna it is now working fine

Related

Atemega328p built in relay switch on in digitalwrite() but without clicking sound

i already tried using this board and all works fine but suddenly one relay has a dimmer turn on led and the relay doesn't have a clicking sound when turning on. Then one after another all 7 relays has the same problems, i tried changing may atmega chip but nothing happened. I tried using other power supply to power the 7 relay but still the same. The digitalwrite(n, HIGH) output voltage of the atmega pins that are connected to the relays is just about 1.7v and not 5v but the other ouput pins that has nothing connected has 4.89v output when turning it high, would that be the problem? And how would i fix it? My code i use to troubleshoot is just high and low digitalwrite.
Schematic Diagram
atmega328p with built-in 7 relays

OSDK4.x: Can you use DJI Assistant 2 for Matrice with payload actions?

Is it possible with OSDK4.x to command payload and flight actions and use the DJI Assistant 2 for Matrice concurrently?
Previously, we have been using the M210V1 with OSDK3.9. Using the DJI Assistant 2 for Matrice to simulate the drone flight is key to our ability to develop our system.
However, the M210V2 and OSDK4.x require the USB port of the drone to be connected to the Linux device running the OSDK, otherwise any payload (GimbalManager, CameraManager) actions throw an error - such as GimbalManager::resetSync.
This is not ideal for development since we cannot use the simulator (on MacOS) and connect the USB to the Linux device (there is only one USB port on the drone). Has anyone solved this problem?
Yes and no.
For 210, There is only one USB2 port and it is either for connecting to PC side assitant2 or connecting to onboard PC to get osdk stream. You can think it as a bug in design phases.
Yes, you can run part of osdk and run the simulator without the payload camera-related function. If I recall correctly, I can still "rostopic echo" the Gimbal orientation topic from the drone. Its only image topic that is disabled. You can simulate the GPS based flight in simulator and try to set gimbal direction. I remember this was achievable.
There is no way for you to run both simulators and get payload functions such as images from OSDK. so to get both image running and drone running in simulator that's not achievable.
If you really wants both at same time. I suggest you move to M300 which they have dual USB C interface for both camera stream and for simulation.

How do you disconnect a Bluetooth device in a Windows driver so that Windows doesn't lose it's pairing?

I'm currently working on a Windows driver for Nintendo Wii remotes and I want the PC to be able to disconnect the device without removing it's pairing. I know this behavior exists since my mouse is capable of doing it. What I want it to do is, when looking in Devices and Printers, the device should show as grayed out when off/out of range. Unfortunately I can't find any documentation on how to do this, either because I don't know what this exact behavior is called or because it's never clearly stated in the documentation. Does anyone have any idea how this is implemented?
EDIT: Realized this was probably not a Bluetooth specific feature since printers also make use of this and removed the Bluetooth tag.

Control commands of the Onboard-SDK are published with different frequencies

I am using the Onboard-SDK for DJI M100 on ROS.
I developed a code for controlling the position of the M100 to certain target position.
However, it doesn't reach the specified target.
For that reason I checked the published control signals with ROS, and as I saw, in some experiments the frequency of the control signal is not "constant" at all. For example, sometimes I have 50Hz, some others 5Hz, 10Hz etc.
I would like to know what is the actual reason behind this.
Assuming you 3.3V FTDI works and have perfect working hardware, I would guess some 1 changed the DJI assistant2 SDK setting for you. Otherwise, it will not changes. I had some simar problem before, but the problem is I burn the API port by using 5V FTDI
Besides, you control should be sent to the drone in a fixed time loop by running a ros loop rate and ros sleep routing. not send at each callback. The reason being that you need to control your drone position with PID or other control methods which is time depended.

How can I get a shutter signl of the Matrice 600 (PRO) A3?

I have an M600 PRO (A3) and I need to connect an Arduino to it to receive a drone shutter.
In fact, I would like to use Drone Deploy with a photo of each waypoint and at the time of each photo I would like my arduino to receive this signal to perform a specific task. I have no camera attached to the drone.
Could someone help me with this task? I've already been able to connect A3 to the Arduino. I still can not understand the data bus fault.
i already connect one Arduino to the DJI MAtrice 600 Pro, but I do not found the hexa-Code related with shutter sign
I would like to receive the shutter sign from Matrice 600 in my Arduino, in order to program a special task related with this sign.
Since you say you want to use Drone Deploy, you won't be able to use the Mobile SDK and will need to build something with the Onboard SDK. It's unclear what you want since you say you have no camera but want to trigger something every time a picture is taken.
If you just want to detect when Drone Deploy tries to take a picture, you may get an error depending on if the sdk thinks there is a camera detected or not. I haven't tried the Onboard SDK much or especially tried without a camera attached so I don't know if an error will result or if you can set the trigger in the take picture callback.
Either way the best place to start is probably the Camera sample onboard sdk app.

Resources