Firmware release 1.1.0.b1
-
Hello everyone,
Time for a new firmware release :-). We have done major changes to the Bluetooth API which we hope you will like. It's much more object oriented now.
The release notes are as follows:
- Add
bluetooth.isscanning()method to check if a scan is still in progress. - Add a method to get the characteristics of a service.
- Create the BluetoothConnection, BluetoothService and BluetoothCharacteristic classes.
bluetooth.connect()now returns an object of the typeBluetoothConnection
Please have a look at the docs in: https://docs.pycom.io/pycom_esp32/library/network.Bluetooth.html
for all the details.Reading and writing characteristics is now possible and we will keep enhancing this functionality.
In the upcoming releases we will add a method for subscribing to notifications/indications, and non-blocking options to most of the API calls. All these features depend on the new interrupt mechanism that we plan to release next week and that's the reason why they are not available yet.
The firmware update tool is available here: https://www.pycom.io/support/supportdownloads/
Looking forward to receive your feedback.
Cheers,
Daniel - Add
-
Hi Daniel,
I just received today my SiPY modules and I am trying to access the BLE stack and I am getting an import module error for Bluetooth.
Is there a way to upgrade the SiPY firmware with that update? Currently the upgrade tool does not support it (not present in the firmware list).Thanks
-
@the_ned sorry to keep you waiting. We plan to add support to the SiPy on the updater tool next Tuesday.
-
Place this under "desires:" My application could use a filtering BLE scan with a timeout that returns an array of the advertisement data. The addresses in my case will come in multiples of three (three sensors per bee hive). I cannot quite trace esp_ble_adv_filter_t through the IDF code, so I'm guessing this isn't implemented yet. The scan would be followed by a period of deep, deep sleep ideally.
An alternative would be to collect all BLE advertisements from the whitelist into a FIFO queue while in "sleep", then wake up to process and send via LoRaWAN / whatever. But that likely would be less energy-efficient. There may be many BLE devices passing by, and I only want the data every 10-15 minutes.
-
What is wrong here?
MicroPython v1.8.6-274-g9a2018f on 2016-12-29; WiPy with ESP32
Type "help()" for more information.
">>>"
paste mode; Ctrl-C to cancel, Ctrl-D to finish
=== from network import Bluetooth
=== import time
=== bt = Bluetooth()
=== bt.start_scan(-1)BTDM CONTROLLER VERSION: 010101
btip start
copy .data from 4000d890 to 3ffae6e0, len 00001830
set .bss 0x0 from 3ffb8000 to 3ffbff70, len 00007f70
BTDM ROM VERSION 0101
BD_ADDR: 24:0A:C4:00:70:C6
NVDS MAGIC FAILED
RF Init OK with coex
W (34905) wifi: post pm rx bcn failed
">>>"it is the first lines from here
https://docs.pycom.io/pycom_esp32/library/network.Bluetooth.html
-
@daniel
Next week will be the perfect timeframe.
Thanks again. Great job. And I wish you a lot of XxPy for 2017!! -
@Frida nothing, it's just a warning message that will be removed in future releases. Is the scan returning results?
-
@daniel I am able to scan and get the advertisement from my TI Sensor Tag, but not my Eddystone Beacon. Not sure why... Do the advertisements get queued up and we retrieve them one by one with get_adv() method? Any plans to set up a callback feature for receiving advertisements instead of polling with get_adv()?
-
@drnordstedt yes advertisements are queued and the FIFO behind has space for 8 advertisement messages.
Have you tried on a for loop?
while True: bt.get_adv()Yes, we do have plans to also offer a callback feature.
-
@daniel Thanks for the info. Yes, I tried it in a loop. I'll run some more tests with other devices and sniff out the packets. I can send you the advertising packet data if you'd like when I run my captures.
-
@drnordstedt @daniel What may work "better" is if get_adv() returns an array of all currently known requests, resetting the queue. I can see too many race conditions otherwise.
-
Hi @daniel
As I have mentioned in my email, there is no BLE Peripheral in the current implementation, nor anything is planned for the near future. Do you have any plans for it?
set_adv(),add_service(),add_characteristic()... would be a dream come true for me now. I have waited a few weeks, I'm losing hope. -
@mohpor Hi, I have replied to your email a few minutes ago... we do have plans for supporting BLE in GATT server mode, we just chose to implement the client functionality first as this is what most people was requesting.
-
@mohpor In line with Daniel's message several weeks ago, we asked the community for input. We have now prioritised the firmware build and we will NOT be making changes at this point. Your request will be added after the firmware release mid January.
With regards to other comment you made, the team DID release the firmware through the Christmas period and will CONTINUE further development according to Daniel's build schedule.
Thanks Fred
-
OK. Looks like you are angry with me which I can not understand for the life of me. If anyone here should be angry is us customers, not you guys with empty promises!
-
Regarding my (Deleted) Comment, I have checked your forum and my eyes could handle the build number bump from
1.0.1.b1to1.1.0.b1! forgive me for being pedantic, but that's not the way people pump their build numbers.I KNOW you have submitted an update. No need to point that out AGAIN.
-
@mohpor I suggest you take a balanced view of your opinions and reconsider 'empty promises'. I have emailed you separately. I believe you can also note that the Firmware release promised during the Christmas vacation was delivered by the team, contrary to your other comment.
You were invited to put any items required onto our roadmap, and since nothing was forthcoming, we built up the list inline with the majority of our customers requirements.
Thanks Fred
-
-- infos ---
Interesting app (Android) to monitor BLE.
Gives Flags
Services UUIDs
Service DatanRF connect
from NordicSemiConductor -
@daniel Is it possible that pycom makes it possible to download older firmware updates too?
I need this because the latest is not working fine for me (see AWS MQTT connection issues). But i don't have the older firmware anymore. -
@gertjanvanhethof yes, we will make this available early next week.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login