

ここにコンストラクターの例は、UARTインターフェイスを渡す必要があります(必要に応じて、それが認められている)AUX PIN、M0およびM1を渡す必要があります。
ライブラリをインストールするには、次のコマンドを実行します。
pip install ebyte-lora-e22-rpi from lora_e22 import LoRaE22
import serial
loraSerial = serial . Serial ( '/dev/serial0' ) #, baudrate=9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS)
lora = LoRaE22 ( '400T22D' , loraSerial , aux_pin = 18 , m0_pin = 23 , m1_pin = 24 ) code = lora . begin ()
print ( "Initialization: {}" , ResponseStatusCode . get_description ( code )) from lora_e22 import LoRaE22 , print_configuration
from lora_e22_operation_constant import ResponseStatusCode
code , configuration = lora . get_configuration ()
print ( "Retrieve configuration: {}" , ResponseStatusCode . get_description ( code ))
print_configuration ( configuration )結果
# ----------------------------------------
# HEAD : 0xc1 0x0 0x9
#
# AddH : 0x0
# AddL : 0x0
#
# Chan : 23 -> 433
#
# SpeedParityBit : 0b0 -> 8N1 (Default)
# SpeedUARTDatte : 0b11 -> 9600bps (default)
# SpeedAirDataRate : 0b10 -> 2.4kbps (default)
#
# OptionSubPacketSett: 0b0 -> 240bytes (default)
# OptionTranPower : 0b0 -> 22dBm (Default)
# OptionRSSIAmbientNo: 0b0 -> Disabled (default)
#
# TransModeWORPeriod : 0b11 -> 2000ms (default)
# TransModeTransContr: 0b0 -> WOR Receiver (default)
# TransModeEnableLBT : 0b0 -> Disabled (default)
# TransModeEnableRSSI: 0b0 -> Disabled (default)
# TransModeEnabRepeat: 0b0 -> Disabled (default)
# TransModeFixedTrans: 0b0 -> Transparent transmission (default)
# ----------------------------------------
設定されたパラメーターのみを設定でき、もう1つはデフォルト値に設定されます。
configuration_to_set = Configuration ( '400T22D' )
configuration_to_set . ADDL = 0x02
configuration_to_set . ADDH = 0x01
configuration_to_set . CHAN = 23
configuration_to_set . NETID = 0
configuration_to_set . SPED . airDataRate = AirDataRate . AIR_DATA_RATE_100_96
configuration_to_set . SPED . uartParity = UARTParity . MODE_00_8N1
configuration_to_set . SPED . uartBaudRate = UARTBaudRate . BPS_9600
configuration_to_set . OPTION . subPacketSetting = SubPacketSetting . SPS_064_10
configuration_to_set . OPTION . transmissionPower = TransmissionPower ( '400T22D' ).
get_transmission_power (). POWER_10
# or
# configuration_to_set.OPTION.transmissionPower = TransmissionPower22.POWER_10
configuration_to_set . OPTION . RSSIAmbientNoise = RssiAmbientNoiseEnable . RSSI_AMBIENT_NOISE_ENABLED
configuration_to_set . TRANSMISSION_MODE . WORTransceiverControl = WorTransceiverControl . WOR_TRANSMITTER
configuration_to_set . TRANSMISSION_MODE . enableLBT = LbtEnableByte . LBT_DISABLED
configuration_to_set . TRANSMISSION_MODE . enableRSSI = RssiEnableByte . RSSI_ENABLED
configuration_to_set . TRANSMISSION_MODE . enableRepeater = RepeaterModeEnableByte . REPEATER_DISABLED
configuration_to_set . TRANSMISSION_MODE . fixedTransmission = FixedTransmission . FIXED_TRANSMISSION
configuration_to_set . TRANSMISSION_MODE . WORPeriod = WorPeriod . WOR_1500_010
configuration_to_set . CRYPT . CRYPT_H = 1
configuration_to_set . CRYPT . CRYPT_L = 1
# Set the new configuration on the LoRa module and print the updated configuration to the console
code , confSetted = lora . set_configuration ( configuration_to_set )各パラメーターの定数クラスを作成します。ここにリスト:エアダタレート、uartbaudrate、uartparity、transmissionpower、forwarderrorcorrectionswitch、wirelesswakeuptime、iodrivemode、fixtransmission
ここにデータの送信の例は、文字列を渡すことができます
lora . send_transparent_message ( 'pippo' ) lora . send_fixed_message ( 0 , 2 , 23 , 'pippo' )ここにレシーバーコード
while True :
if lora . available () > 0 :
code , value = lora . receive_message ()
print ( ResponseStatusCode . get_description ( code ))
print ( value )
time . sleep ( 2 )RSSIも受信したい場合は、構成で有効にする必要があります
configuration_to_set . TRANSMISSION_MODE . enableRSSI = RssiEnableByte . RSSI_ENABLEDreceid_messageメソッドでフラグをtrueに設定します
code , value , rssi = lora . receive_message ( True )結果
Success!
pippo
ここにデータの送信の例は、辞書を渡すことができます
lora . send_transparent_dict ({ 'pippo' : 'fixed' , 'pippo2' : 'fixed2' }) lora . send_fixed_dict ( 0 , 0x01 , 23 , { 'pippo' : 'fixed' , 'pippo2' : 'fixed2' })ここにレシーバーコード
while True :
if lora . available () > 0 :
code , value = lora . receive_dict ()
print ( ResponseStatusCode . get_description ( code ))
print ( value )
print ( value [ 'pippo' ])
time . sleep ( 2 )RSSIも受信したい場合は、構成で有効にする必要があります
configuration_to_set . TRANSMISSION_MODE . enableRSSI = RssiEnableByte . RSSI_ENABLEDreceid_dictメソッドでフラグをtrueに設定します
code , value , rssi = lora . receive_dict ( True )結果
Success!
{'pippo': 'fixed', 'pippo2': 'fixed2'}
fixed
E22
| ピン番号 | ピンアイテム | ピン方向 | ピンアプリケーション |
|---|---|---|---|
| 1 | M0 | 入力(弱いプルアップ) | M1を操作し、4つの操作モードを決定します。 |
| 2 | M1 | 入力(弱いプルアップ) | M0を使用して、4つの操作モードを決定します。 |
| 3 | RXD | 入力 | TTL UART入力は、外部(MCU、PC)TXD OutputPinに接続します。オープンドレインまたはプルアップ入力として構成できます。 |
| 4 | TXD | 出力 | TTL UART出力は、外部RXD(MCU、PC)InputPinに接続します。オープンドレインまたはプッシュプル出力として構成できます |
5 | aux | 出力 | Indicare lo stato di funzionamento del modulo e riattivare l'mcu esterno Durante la procedura di inizializzazione di autocontrollolo、il pin emette una bassa tensione。 puòspessereconfiguratoはuscita open-drain o出力プッシュプル(&Conscondito non metterlo a terra、ma se hai foolbeti、ad esempio ti si freeze il duspivie mettere una restistenza di pull-up da 4.7ko meglio collegarlo disutivo)。 |
| 6 | VCC | 電源2.3V〜5.5V DC | |
| 7 | GND | 地面 |
ご覧のとおり、M0およびM1ピンを介してさまざまなモードを設定できます。
| モード | M1 | M0 | 説明 |
|---|---|---|---|
| 普通 | 0 | 0 | UARTおよびワイヤレスチャネルはオープンで、透明なトランスミッションがオンになっています(特別なコマンドを介してAIR上の構成をサポートしています) |
| worモード | 0 | 1 | WORトランスミッターおよびWORレシーバーとして定義できます |
| 構成モード | 1 | 0 | ユーザーはシリアルポートを介してレジスタにアクセスして、モジュールの動作状態を制御できます |
| 深い睡眠モード | 1 | 1 | スリープモード |
ご覧のとおり、静的な方法で使用できるピンがいくつかありますが、ライブラリに接続すると、パフォーマンスで得られ、ソフトウェアを介してすべてのモードを制御できますが、次に説明することができます。
| アド | モジュールの高いアドレスバイト(デフォルト00H) | 00h-ffh |
| addl | モジュールの低いアドレスバイト(デフォルト00H) | 00h-ffh |
| sped | データレートのパリティビットと航空データレートに関する情報 | |
| チャン | 通信チャネル(410m + chan*1M)、デフォルト17H(433MHz)、 433MHzデバイスのみがデバイスの正しい周波数を確認するために有効です | 00H-1FH |
| オプション | 送信の種類、パケットサイズ、特別なメッセージを許可します | |
| inssomision_mode | 伝送モダリティを指定する多くのパラメーター |
オプション
トランスミッションの種類、プルアップ設定、ウェイクアップ時間、FEC、トランスミッションパワー
UARTパリティビット: UARTモードは通信パーティー間で異なる場合があります
| 4 | 3 | UARTパリティビット | 一定の値 |
| 0 | 0 | 8N1(デフォルト) | mode_00_8n1 |
| 0 | 1 | 8o1 | mode_01_8o1 |
| 1 | 0 | 8 E1 | mode_10_8e1 |
| 1 | 1 | 8n1(00に等しい) | mode_11_8n1 |
UARTボーレート:UARTボーレートは通信パーティー間で異なる場合があり、UARTボーレートはワイヤレス送信パラメーターとは関係ありません。ワイヤレス送信 /受信機能には影響しません。
| 7 | 6 | 5 | ttl uart baudレート(bps) | 一定の値 |
| 0 | 0 | 0 | 1200 | uart_bps_1200 |
| 0 | 0 | 1 | 2400 | uart_bps_2400 |
| 0 | 1 | 0 | 4800 | uart_bps_4800 |
| 0 | 1 | 1 | 9600(デフォルト) | uart_bps_9600 |
| 1 | 0 | 0 | 19200 | UART_BPS_19200 |
| 1 | 0 | 1 | 38400 | uart_bps_38400 |
| 1 | 1 | 0 | 57600 | uart_bps_57600 |
| 1 | 1 | 1 | 115200 | uart_bps_115200 |
空気データレート:空気データレートが低いほど、送信距離が長くなり、干渉防止パフォーマンスが向上し、送信時間が長くなるため、空気データレートは両方の通信パーティーで同じように保つ必要があります。
| 2 | 1 | 0 | エアデータレート(BP | 一定の値 |
| 0 | 0 | 0 | 0.3k | air_data_rate_000_03 |
| 0 | 0 | 1 | 1.2k | air_data_rate_001_12 |
| 0 | 1 | 0 | 2.4k(デフォルト) | air_data_rate_010_24 |
| 0 | 1 | 1 | 4.8k | air_data_rate_011_48 |
| 1 | 0 | 0 | 9.6k | air_data_rate_100_96 |
| 1 | 0 | 1 | 19.2k | air_data_rate_101_192 |
| 1 | 1 | 0 | 38.4k | air_data_rate_110_384 |
| 1 | 1 | 1 | 62.5k | air_data_rate_111_625 |
####サブパケット設定
これは、パケットの最大のレングットです。
データがサブパケットの長さよりも小さい場合、受信側のシリアル出力は途切れない連続出力です。データがサブパケットの長さよりも大きい場合、受信エンドシリアルポートはサブパケットを出力します。
| 7 | 6 | パケットサイズ | 一定の値 |
| 0 | 0 | 240bytes(デフォルト) | SPS_240_00 |
| 0 | 1 | 128bytes | SPS_128_01 |
| 1 | 0 | 64バイト | SPS_064_10 |
| 1 | 1 | 32バイト | SPS_032_11 |
#### RSSIアンビエントノイズイネーブル
このコマンドは、RSSIの管理タイプを有効/無効にすることができます。リモート構成を管理することが重要です。メッセージのRSSIパラメーターではないことに注意してください。
有効にすると、C0 C1 C2 C3コマンドを送信モードまたはWOR送信モードで送信して、レジスタを読み取ることができます。登録0x00:現在のアンビエントノイズRSSIレジスタ0x01:RSSIデータが前回受信されたとき。
| 5 | RSSI周囲ノイズ有効化 | 一定の値 |
| 0 | 有効にする | rssi_ambient_noise_enabled |
| 1 | 無効(デフォルト) | rssi_ambient_noise_disabled |
#### RSSIを有効にします
有効にすると、モジュールはワイヤレスデータを受信し、シリアルポートTXDを介して出力した後、RSSI強度バイトに従います
####送信タイプ
送信モード:固定伝送モードでは、各ユーザーのデータフレームの最初の3バイトを、高/低アドレスおよびチャネルとして使用できます。モジュールは、送信時にアドレスとチャネルを変更します。また、プロセスを完了した後、元の設定に戻ります。
####リピーター機能を有効にします
####送信前のデータを監視します
有効にすると、ワイヤレスデータが送信される前に監視され、ある程度の干渉を回避できますが、データの遅延を引き起こす可能性があります。
#### wor
WOR送信機:モジュールの受信および送信機能がオンになり、データの送信時にウェイクアップコードが追加されます。受信がオンになります。
WORレシーバー:モジュールはデータを送信できず、WOR監視モードで動作します。監視期間は次のとおり(WORサイクル)であり、多くの電力を節約できます。
#### worサイクル
WORが送信されている場合:WORレシーバーがワイヤレスデータを受信し、シリアルポートから出力した後、WORを再び入力する前に1000msが待機します。ユーザーは、この期間中にシリアルポートデータを入力し、ワイヤレス経由で返品できます。各シリアルバイトは1000msで更新されます。ユーザーは、1000ms以内の最初のバイトを送信する必要があります。
まず、何かが受信バッファーにあるかどうかを確認するために、シンプルだが有用な方法を導入する必要があります
int available ();現在のストリームにあるバイト数を返すだけです。
通常/透明な送信モードは、同じアドレスとチャネルを持つすべてのデバイスにメッセージを送信するために使用されます。
LORA E22送信シナリオ、ラインはチャネルです
固定トランスミッションには、より多くのシナリオがあります
LORA E22送信シナリオ、ラインはチャネルです
今、あなたはあなたの仕事をするためのすべての情報を持っていますが、私はすべての可能性をより良く導くためにいくつかの現実的な例を示すことが重要だと思います。
Arduino、ESP32、またはESP8266用のebyte lora e22デバイス:設定と基本的な使用
Arduino、ESP32、またはESP8266用のebyte lora e22デバイス:ライブラリ
Arduino、ESP32、またはESP8266用のebyte lora e22デバイス:構成
Arduino、ESP32、またはESP8266用のebyte lora e22デバイス:送信とrssiを固定
Arduino、ESP32、またはESP8266用のebyte lora e22デバイス:構造化されたデータの節約と送信
Arduino、ESP32、またはESP8266用のebyte lora e22デバイス:リピーターモードとリモート設定
Arduino、ESP32、またはESP8266用のebyte lora e22デバイス:wor microcontrollerおよびarduinoシールド
Arduino、ESP32、またはESP8266用のebyte lora e22デバイス:wor microcontrollerとwemos d1シールド
Arduino、ESP32、またはESP8266用のebyte lora E22デバイス:wor microcontrollerおよびesp32 dev v1シールド