5.0 KiB
title, aliases
| title | aliases |
|---|---|
| Pybytes library API |
The Pybytes library is positioned in the frozen section of the firmware. It can be imported like regular modules:
from _pybytes import Pybytes
pybytes = Pybytes()
Provisioning
Pybytes.activate(activation string)
Provision the device to Pybytes. Use the activation string provided in Pybytes to activate the device.
pybytes.read_config([filename='/flash/pybytes_config.json', reconnect=False])
Load the Pybytes configuration file. By default, this is found in /flash/pybytes_config.json
pybytes.update_config(key, [value=None, permanent=True, silent=False, reconnect=False])
Update a key and value of the default configuration file. additional options:
permanent: will callpybytes.write_config(). If setFalse, the update will not be stored in the configuration file.silent: setsilentparameter of above.reconnect: callspybytes.reconnect()
set_config([key=None, value=None, permanent=True, silent=False, reconnect=False])
Same as update_config(...)
pybytes.write_config([file='/flash/pybytes_config.json', silent=False])
Writes the updated configuration to the default configuration file. The parameters:
file: The file name and locationsilent: Do not print anything
pybytes.print_config()
Print the configuration settings to the REPL
Connection
pybytes.connect()
Connect the device to Pybytes following the loaded configuration file. You will need to load a configuration file before calling this.
pybytes.start([autoconnect=True])
Same as pybytes.connect(), with the option to not connect
pybytes.connect_lte()
Connect to Pybytes using LTE and the settings from the configuration file.
pybytes.connect_wifi([reconnect=True, check_interval=0.5])
Connect to Pybytes using WiFi and the settings from the configuration file.
pybytes.connect_sigfox()
Connect to Pybytes using SigFox and the settings from the configuration file.
pybytes.connect_lora_otaa([timeout=120, nanogateway=False])
Connect to Pybytes using LoRa OTAA and the settings from the configuration file.
pybytes.connect_lora_abp([timeout, nanogateway=False])
Connect to Pybytes using LoRa ABP and the settings from the configuration file.
pybytes.disconnect()
Disconnect from Pybytes gracefully. Closes the MQTT connection and socket.
pybytes.reconnect()
Calls pybytes.disconnect() followed by pybytes.connect()
pybytes.isconnected()
Returns the connection status to Pybytes, can be True or False.
pybytes.is_connected()
Same as pybytes.isconnected()
Signals
pybytes.send_signal
Note this will create a separate thread. class init module qualname start dict WAKEUP_ALL_LOW WAKEUP_ANY_HIGH connect deepsleep
send_custom_message set_custom_message_callback
send_ping_message send_info_message
send_scan_info_message send_digital_pin_value
send_analog_pin_value send_node_signal
send_signal __periodical_pin_callback
register_periodical_digital_pin_publish
register_periodical_analog_pin_publish
add_custom_method enable_terminal
send_battery_level send_custom_location
__recv_message __process_protocol_message
export_config enable_ssl
enable_lte dump_ca activate smart_config
__smart_config_callback __smart_config_setup
__frozen __activation __custom_message_callback
__config_updated __pybytes_connection
__smart_config __conf __pymesh __conf_reader
Sending messages
Miscellaneous
pybytes.deepsleep()
To test the Pybytes library API, connect your device to Pymakr and call the methods listed below. You can use the Pybytes library API in your MicroPython project.
Debugging
Enable debugging if you are having any issues. There are multiple debug levels, the lowest is 0 which is for warnings only and 99 is the highest used and will print more debugging messages
use:
>> import pycom;
>> pycom.nvs_set('pybytes_debug', debugLevel)
e.g.
>> import pycom;
>> pycom.nvs_set('pybytes_debug', 99)