ESP32 as an end device rule in openthread network - esp32

As we know in a openthread network, some devices are end device and some of them are boarder router. My question is: Is it possible to a Wi-Fi enabled device like ESP32 acts as an end device instead of boarder router?

A Thread device can operate in an end device role, regardless of what other network interfaces it supports. A device can simply operate as a host on multiple network interfaces.

Related

Windows10 USB Transfer mode

Will USB communication in Windows 10 be done in Bulk mode?
I'm in the process of selecting a PC and would like to know how to transfer Windows 10 to other devices for USB communication.
There are four transfer methods for USB communication, Control, Interrupt, Bulk, and Isochronous, and which one is used depends on the host.
I'm hoping to use the Bulk method of communication because I don't want USB communication without retransmission.
Thank you!
and which one is used depends on the host
Yes and no. The host must use the method appropriate for a device, and the device has endpoint descriptors which define whether an endpoint is bulk,interrupt or isochronous.
Note that common devices have specific endpoint type requirements: Mass storage use bulk while HID devices (e.g. mice or keyboards) use interrupt ep.

What Windows 10 driver model is appropriate for implementing IP link layer?

I'm looking to write a simple Windows driver to enable running TCP/IP over a proprietary RF module. The module already provides Ethernet-style data packets with source/destination MAC, so I just need to layer IP packets (generated by the regular Microsoft IPv4 subsystem), set the MTU appropriately so they will be the right size, and then call the module's serial API. I'll need to be able to handle transmit statuses and implement an ARP protocol as well. I want the driver to expose a new interface similar to a wifi or ethernet card in Network Connections and use the normal Windows IP stack.
The module is UART and might be connected via FTDI chip, RS-232 converter, or native UART on an IoT Core board, so it will just be talking to a generic serial port. I am fine with only running on Windows 10, but I'm still not sure what to use. Can I use the UWP VPN provider? Do I need to write an NDIS miniport driver, or an interface provider? Also, how will I handle the driver needing complete control over the serial port at all times? I can't write a serial driver as it might be connected via many different types of serial ports.

Emulating a USB device

I have a microsoft xbox one controller. Is there a way I could check the data that the controller sends to windows, and then send it out through a different USB port?
It would be possible under condition that:
PC has USB device controller with related port
You have drivers that will capture traffic from XBox controller, pass it to device port and route all traffic coming to device port to XBox controller (effectively working as USB HUB).

Open a socket connection to bluetooth device without a virtual COM port

I am using the 32feet bluetooth library to connect to a device that supports Serial Port Profile (SPP). I try to connect like this:
using (BluetoothClient client = new BluetoothClient())
{
var address = new BluetoothAddress(0xecfe7e11c3af);
BluetoothEndPoint endPoint = new BluetoothEndPoint(address, BluetoothService.SerialPort);
client.Connect(endPoint);
var stream = client.GetStream();
System.Threading.Thread.Sleep(10000);
}
Everything is great until the Connect method is called. At this point, Windows interrupts the program flow with a bubble alert that says
"A bluetooth device is trying to connect -- click to allow this"
At which point the user is led through a wizard that ends up installing drivers and a Bluetooth virtual COM port shows up in Device Manager. I don't want this to happen -- I want to simply access the stream and communicate directly with the device without windows intervening. Is this possible? What can be done to tell Windows to keep out of my business?
I'm attempting to connect to a Bluetooth 4.0 device. I've done something similar in the past with a 2.0 device and Windows does not interfere in this case.
Have a look at http://SimpleBluetooth4Win.SourceForge.net
It's a small wrapper library that uses the windows bluetooth networking API that could help you.
https://msdn.microsoft.com/en-us/library/windows/desktop/aa362932%28v=vs.85%29.aspx
In particular if your bluetooth USB dongle or bluetooth device has been correctly recognized by the appropriate drivers and the remote bluetooth device is already paired with the PC, you don't need to install a bluetooth virtual COM port that shows up in Device Manager but you simply use the write or read calls to access directly the stream for communicating with the paired device.

How do I use Zigbee to communicate to smartphone

I need to monitor how many smart phones are connected to a wireless network in a certain area. I found out that Zigbee can be used to accomplish this task. I need to at least differentiate each phone connected. What do I need to do?
Without knowing anything in regards to Zigbee, you could use the BSSID of the device as your unique identifier. Every WiFi radio has a unique BSSID. Just a thought.
ZigBee (802.15.4) and Wi-Fi (802.11) are different networking standards. They both use 2.4GHz, but a ZigBee radio won't be able to identify nodes on a Wi-Fi network.
Zigbee (IEEE 802.15.4) and WiFi (IEEE 802.11) are two different PHY/MAC specifications. The first thing you have to do is:
Build a gateway between the Zigbee and WiFi networks.
Each smartphone should be capable of connecting to the Zigbee network.
Each smartphone should act as end device and Zigbee controller
should track the position of each smartphone. This controller should
be connected to Wifi via gateway [1]. Then you can easily track
number of smartphones connected to a network.

Resources