The iccid() function only works after an attach command is attempted. Since we use the ICCID to determine the correct APN to use in the attach command, we have to do a dummy attach call, read the iccid, detach, and then correctly attach with the computed apn. Hope this helps others until this issue is resolved.
Below is the revised code that now works.
from network import LTE
lte = LTE()
iccid = lte.iccid() # does not work
lte.attach(apn='unknown') # attempt attach so iccid() will work
iccid = lte.iccid() # iccid() now works
# compute apn from iccid
lte.attach(apn=computed_apn) # attach with correct apn
There seems to be inconsistencies in the spec sheets for the W01, L01, L04, and G01 modules regarding supply power.
They all have a section that says:
"The x01 features an on–board voltage regulator that takes 3.5V – 5.5V from the VIN pin and regulates it to 3.3V. It is important to only use the 3.3V as an output and not try to feed 3.3V into this pin as this could damage the regulator."
None of these modules even have a Vin Pin on their schematics. So it seems that the only way to power them is through the 3.3V pin which it explicitly says not to do. Is that just a big typo?
Furthermore, the G01 is the only module to have an input power pin of 3.2-5.5V. Is this the Vin which would also power the 3.3V Pycom portion? If not, can this be powered by the same 3.3V power supply that would feed into the 3.3V pin? Also, how much current does it draw?
Clarification would be very much appreciated.
I'm struggling to get this to work.
After following the instructions seemingly exactly with a wipy2.0 running 1.18.2.r4, I run into an error:
"Warning: Virtual write to unregistered pin 1"
All I did was download the code from wipy2 after setting up pymate, and add:
val = int(params)
if (val < 256):
val = val & 0xFF
elif (val > 255 and val < 512):
val = (val << 8) & 0xFF00
elif (val > 511):
val = (val << 16) & 0xFF0000
right under where it says "# Initialize Virtual Pins and Terminal Pins Here" in the Pymate_basic.py file in the lib.
I can't seem to figure out why this doesn't work since I am following this guide exactly.
Is the only way to upload code through FTP? I seem to be able to download, edit, and re-upload the code through REPL when booted in safe mode. Is this a no-no?
I really like to get your demo code running and make a mesh demonstrator.
Have played with the lora mesh example, but like to have a more full-fledged
demo that I can show using a mobile (ios) device, without connecting to the
USB port of the different nodes with my mac.
Keep up the good work, really like your modules and the mesh capabilities
@danielm said in Using PyCom products in Hungary, Telekom NB-IoT network:
In Slovak Telekom network NB-IoT service is operated in B20 using Ericsson RAN and it is possible to connect. By the way part of EPC functionalities is served from Deutsche Telekom and I expected it will be the case for Magyar Telekom NB-IoT network deployment as well.
Thanks for the info!
I get the speed from get_speed() I've noticed that in some testing locations I get better results so I need to start testing out on the road before I find a comfortable threshold to work with.
I use the Haversine method to calculate distance in meters between 2 locations based on the previous read coordinates. Example: Haversine([lon1, lat1], [lon2, lat2]).meters
I realize that the distance isn't going to be super accurate but 185m is way too high. I'm hoping I can get within 15 meters.
I am testing inside a building but I'm right next to large windows with a clear view of the Northern sky. I get better results when near a window that faces South.
Can you shed any light on the HDOP score? How can I use this to discard inaccurate results? discard and try again if HDOP > 2 (for example)
Finally i was able to get this around by removing the channel from 8-72 as shown below
for i in range(8, 72):
start = 903900000
f_inc = 200000
curr = start
for i in range(8):
lora.add_channel(index=i, frequency=curr, dr_min=0, dr_max=4)
curr += f_inc
For a client, I'm looking for a senior Micropython/embedded developer (freelance/contractor) that preferrably has experience with Pycom modules. I have been working as developer for the client myself, but they need extra help.
You will be working on the software for a new iteration of the (Pycom-based) device that the company is developing. You will be working most of the time on the Micropython code that runs on the devices. You will also need to be comfortable with embedded C in order to analyze and fix problems in the Pycom firmware when they arise and extend the firmware in case a feature cannot be implemented in Micropython.
You can work remotely, but occassional visits to the company headquarters in Noord-Brabant are desired.
Developer Experience Profile
Embedded C + GNU command line toolchain (gcc, gdb, binutils)
Inter-IC Protocol knowledge: I2C, SPI, 1Wire, etc.
Analyzing/Debugging hardware issues using a logic analyzer
Development of device drivers and other low-level code (both in Micropython as well as C)
Unit testing (esp. Python) is a plus
TypeScript & React experience is a big plus, but not a must
Bluetooth experience is a plus, but not a must
The company is active in the smart building and real-estate space. It has many Pycom-based products deployed in a number of large buildings in The Netherlands. The team working on the products and services is very small so you will have a lot of influence on the product. The company is based in Noord-Brabant, The Netherlands, easily accesible by car or public transit.
Please contact me at:
post AT martijnthe DOT nl