

ここにコンストラクターの例は、UARTインターフェイスを渡す必要があります(必要に応じて、それが認められている)AUX PIN、M0およびM1を渡す必要があります。
ライブラリをインストールするには、次のコマンドを実行します。
pip install ebyte-lora-e32-rpi from lora_e32 import LoRaE32
import serial
loraSerial = serial . Serial ( '/dev/serial0' ) #, baudrate=9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS)
lora = LoRaE32 ( '433T20D' , loraSerial , aux_pin = 18 , m0_pin = 23 , m1_pin = 24 ) code = lora . begin ()
print ( ResponseStatusCode . get_description ( code )) from lora_e32 import LoRaE32 , print_configuration , Configuration
from lora_e32_operation_constant import ResponseStatusCode
code , configuration = lora . get_configuration ()
print ( ResponseStatusCode . get_description ( code ))
print_configuration ( configuration )結果
----------------------------------------
HEAD : 0b11000000 192
AddH : 0
AddL : 2
Chan : 23 -> 433
SpeedParityBit : 0b0 -> 8N1 (Default)
SpeedUARTDatte : 0b11 -> 9600bps (default)
SpeedAirDataRate : 0b10 -> 2.4kbps (default)
OptionTrans : 0b1 -> Fixed transmission (first three bytes can be used a
s high/low address and channel)
OptionPullup : 0b1 -> TXD, RXD, AUX are push-pulls/pull-ups (default)
OptionWakeup : 0b0 -> 250ms (default)
OptionFEC : 0b1 -> Turn on Forward Error Correction Switch (Default)
OptionPower : 0b0 -> 20dBm (Default)
----------------------------------------
configuration_to_set = Configuration ( '433T20D' )
configuration_to_set . ADDL = 0x02
configuration_to_set . OPTION . fixedTransmission = FixedTransmission . FIXED_TRANSMISSION
code , confSetted = lora . set_configuration ( configuration_to_set )構成オブジェクトには多くのパラメーターがあります。
class Configuration :
class Speed :
def __init__ ( self , model ):
self . model = model
self . airDataRate = AirDataRate . AIR_DATA_RATE_010_24
self . uartBaudRate = UARTBaudRate . BPS_9600
self . uartParity = UARTParity . MODE_00_8N1
class Option :
def __init__ ( self , model ):
self . model = model
self . transmissionPower = TransmissionPower ( self . model ). get_transmission_power (). get_default_value ()
self . fec = ForwardErrorCorrectionSwitch . FEC_1_ON
self . wirelessWakeupTime = WirelessWakeUpTime . WAKE_UP_250
self . ioDriveMode = IODriveMode . PUSH_PULLS_PULL_UPS
self . fixedTransmission = FixedTransmission . TRANSPARENT_TRANSMISSION
class Configuration :
def __init__ ( self , model ):
self . HEAD = 0
self . ADDH = 0
self . ADDL = 0
self . SPED = Speed ( model )
self . CHAN = 23
self . OPTION = Option ( model )各パラメーターの定数クラスを作成します。ここにリスト:エアダタレート、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 )結果
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 )結果
Success!
{'pippo': 'fixed', 'pippo2': 'fixed2'}
fixed
非常に強力でシンプルで安価なデバイスのEBYTE E32シリーズのLORAデバイスを管理するライブラリを作成します。
LORA E32-TTL-100
ここでは、aliexpress(3kmデバイス)aliexpress(8kmデバイス)を見つけることができます
彼らは3000mから8000mの距離で動作することができ、多くの機能とパラメーターがあります。
そこで、このライブラリを作成して使用を簡素化します。
更新されたスキーマを取得するには、私の記事を参照してください
ここで私の図書館を見つけることができます。
ダウンロードします。
右上隅のダウンロードボタンをクリックし、非圧縮フォルダーLORA_E32の名前を変更します。
LORA_E32フォルダーにLORA_E32.CPPとLORA_E32.Hが含まれていることを確認してください。
LORA_E32ライブラリフォルダーは /ライブラリ /フォルダーを配置します。
最初のライブラリの場合、ライブラリサブフォルダーを作成する必要がある場合があります。
IDEを再起動します。
E32 TTL 100
ここでAliexpressを購入できます
| ピン番号 | ピンアイテム | ピン方向 | ピンアプリケーション |
|---|---|---|---|
| 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 | 出力 | モジュールの作業ステータスを示し、外部MCUを目覚めさせます。セルフチェックの初期化の手順中、ピンは低レベルで出力します。オープンドレイン出力Orpush-Pull出力として構成できます(フローティングは許可されています)。 |
| 6 | VCC | 電源2.3V〜5.5V DC | |
| 7 | GND | 地面 | ご覧のとおり、M0およびM1ピンを介してさまざまなモードを設定できます。 |
| モード | M1 | M0 | 説明 |
|---|---|---|---|
| 普通 | 0 | 0 | UARTとワイヤレスチャネルは行きます |
| wke-up | 0 | 1 | 通常と同じですが、レシーバーを目覚めるために送信されたデータにプリアンブルコードが追加されます。 |
| パワー節約 | 1 | 0 | UARTは無効になり、WirelessはWOR(Wake on Radio)モードにあります。つまり、受信するデータがあるとデバイスがオンになります。送信は許可されていません。 |
| 寝る | 1 | 1 | パラメーターの設定で使用されます。障害者の送信と受信。 |
ご覧のとおり、静的な方法で使用できるピンがいくつかありますが、ライブラリに接続すると、パフォーマンスで得られ、ソフトウェアを介してすべてのモードを制御できますが、次に説明することができます。
すでにすべてのピンをマイクロコントローラーの出力に接続することは重要ではないと言っているように、M0およびM1ピンを高またはLOWに配置して設計された構成を取得できます。補助を接続しないと、ライブラリが操作が完了することを確認するために合理的な遅延を設定できます。
送信データを使用して外部MCUを起動し、データ転送仕上げで高く戻すことができます。
トランスミッションのLORA E32 AUXピン
AUXを受け取るときは、バッファが空になったときに高く戻り、高く戻ります。
レセプションのLORA E32 AUXピン
また、通常の操作を復元するためのセルフチェックにも使用されています(パワーオンおよびスリープ/プログラムモード)。
セルフチェックのLORA E32 AUXピン
ESP8266接続スキーマは、論理通信(3.3V)の同じ電圧で機能するため、より簡単です。
LORA E32 TTL 100 WEMOS D1は完全に接続されています
プルアップ抵抗器(4,7kohm)を追加して、良好な安定性を得ることが重要です。
| M0 | D7 |
|---|---|
| M1 | D6 |
| Rx | ピンD2(プルアップ4,7kΩ) |
| TX | ピンD3(プルアップ4,7kΩ) |
| aux | D5(入力) |
| 3.3V | GND |
Arduinoの作業電圧は5Vなので、損傷を防ぐためにRX PIN M0およびM1の電圧分割器を追加する必要があります。
RXにまとめるよりも、SignalからGNDに2KOHM抵抗器と1KOHMを使用できます。
LORA E32 TTL 100 Arduinoは完全に接続されています
| M0 | 7(電圧分割) |
|---|---|
| M1 | 6(電圧分割) |
| Rx | ピンD2(プルアップ4,7kΩおよび電圧分割) |
| TX | ピンD3(プルアップ4,7kΩ) |
| aux | 5(入力) |
| VCC | 3.3V |
| GND | GND |
| アド | モジュールの高いアドレスバイト(デフォルト00H) | 00h-ffh |
|---|---|---|
| addl | モジュールの低いアドレスバイト(デフォルト00H) | 00h-ffh |
| sped | データレートのパリティビットと航空データレートに関する情報 | チャン |
| 通信チャネル(410m + chan*1M)、デフォルト17H(433MHz)、 433MHzデバイスでのみ有効 | 00H-1FH |
|---|
オプション
トランスミッションの種類、プルアップ設定、ウェイクアップ時間、FEC、トランスミッションパワー
UARTパリティビット:_UARTモードはコミュニケーションパーティー間で異なる場合があります
| 7 | 6 | UARTパリティビット| const値| | --- | --- | --- | --- | --- | --- | | 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ボーレートはワイヤレス送信パラメーターとは関係ありません。ワイヤレス送信 /受信機能には影響しません。
| 5 | 43 | ttl uart baudレート(bps) | 一定の値 |
|---|---|---|---|
| 0 | 0 | 0 | 1200 |
| 0 | 0 | 1 | 2400 |
| 0 | 1 | 0 | 4800 |
| 0 | 1 | 1 | 9600(デフォルト) |
| 1 | 0 | 0 | 19200 |
| 1 | 0 | 1 | 38400 |
| 1 | 1 | 0 | 57600 |
| 1 | 1 | 1 | 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 | 19.2k(101と同じ) | air_data_rate_110_192 |
| 1 | 1 | 1 | 19.2k(101と同じ) | air_data_rate_111_192 |
送信モード:固定伝送モードでは、各ユーザーのデータフレームの最初の3バイトを、高/低アドレスおよびチャネルとして使用できます。モジュールは、送信時にアドレスとチャネルを変更します。また、プロセスを完了した後、元の設定に戻ります。
| 7 | Modbusと同様のビットを有効にする送信を固定 | 一定の値 |
|---|---|---|
| 0 | 透明な伝送モード | ft_transparent_transmission |
| 1 | 送信モードを固定しました | ft_fixed_transmission |
IOドライブモード:このビットは、モジュール内部プルアップ抵抗に使用されます。また、排水が開いている場合のレベルの適応性も向上します。しかし、場合によっては、外部のプルアップが必要になる場合があります
抵抗器。
| 6 | IOドライブモード(デフォルト1) | 一定の値 |
|---|---|---|
| 1 | TXDおよびAUXプッシュプル出力、RXDプルアップ入力 | io_d_mode_push_pulls_pull_ups |
| 0 | TXD、auxオープンコレクター出力、RXDオープンコレクター入力 | IO_D_MODE_OPEN_COLLECTOR |
ワイヤレスウェイクアップ時間:モード0の送信および受信モジュールの動作は、遅延時間が無効で任意の値である可能性があるモード0で、モード1の送信機は、対応する時間のプリアンブルコードを連続的に送信できます。モード1で動作する送信機からのデータのみが
受け取った。
| 5 | 4 | 3 | ワイヤレスウェイクアップ時間 | 一定の値 |
|---|---|---|---|---|
| 0 | 0 | 0 | 250ms(デフォルト) | wake_up_250 |
| 0 | 0 | 1 | 500ms | wake_up_500 |
| 0 | 1 | 0 | 750ms | wake_up_750 |
| 0 | 1 | 1 | 1000ms | wake_up_1000 |
| 1 | 0 | 0 | 1250ms | wake_up_1250 |
| 1 | 0 | 1 | 1500ms | wake_up_1500 |
| 1 | 1 | 0 | 1750ms | wake_up_1750 |
| 1 | 1 | 1 | 2000ms | wake_up_2000 |
FEC:FECをオフにした後、実際のデータ伝送速度は増加し、干渉防止能力は低下します。また、送信距離は比較的短いです。両方の通信パーティーは、ターンオンまたはターンオフFECについて同じページを維持する必要があります。
| 2 | FECスイッチ | 一定の値 |
|---|---|---|
| 0 | FECをオフにします | fec_0_off |
| 1 | FECをオンにする(デフォルト) | fec_1_on |
トランスミッションパワー
このような定義を適用することにより、この定数セットを変更できます。
E32-TTL-100、E32-TTL-100S1、E32-T100S2に適用されます。
外部電力は、電流出力が250mAを超えることを確認し、100mV以内の電源が波及することを確認する必要があります。
低電力供給のため、低出力トランスミッションは推奨されません
効率。
| 1 | 0 | トランスミッションパワー(近似) | 一定の値 |
|---|---|---|---|
| 0 | 0 | 20dbm(デフォルト) | Power_20 |
| 0 | 1 | 17dbm | Power_17 |
| 1 | 0 | 14dbm | Power_14 |
| 1 | 1 | 10dbm | Power_10 |
E32-TTL-500に適用
外部電力は、電流出力が700mAを超えることを確認し、100mV以内の電源が波及することを確認する必要があります。
低電力供給効率のため、低出力トランスミッションは推奨されません。
| 1 | 0 | トランスミッションパワー(近似) | 一定の値 |
|---|---|---|---|
| 0 | 0 | 27dbm(デフォルト) | Power_27 |
| 0 | 1 | 24dbm | Power_24 |
| 1 | 0 | 21dbm | Power_21 |
| 1 | 1 | 18dbm | Power_18 |
E32-TTL-1W、E32(433T30S)、E32(868T30S)、E32(915T30S)に適用
外部電力は、電流出力が1Aを超えることを確認し、100mV以内の電源が波及することを確認する必要があります。
低電力供給のため、低出力トランスミッションは推奨されません
効率。
| 1 | 0 | トランスミッションパワー(近似) | 一定の値 |
|---|---|---|---|
| 0 | 0 | 30dbm(デフォルト) | Power_30 |
| 0 | 1 | 27dbm | Power_27 |
| 1 | 0 | 24dbm | Power_24 |
| 1 | 1 | 21dbm | Power_21 |
これを定義すると、チャネル周波数OLSOを構成できます。
通常/透明な送信モードは、同じアドレスとチャネルを持つすべてのデバイスにメッセージを送信するために使用されます。
LORA E32送信シナリオ、ラインはチャネルです
同じ方法で、私は固定伝送で使用する一連の方法を作成します
宛先デバイスはアドレスとチャネルを使用してプリアンブルを受信しないため、送信方法のみを変更する必要があります。
固定トランスミッションには、より多くのシナリオがあります