

ライブラリをインストールするには、次のコマンドを実行します。
pip install ebyte-lora-e220ここにコンストラクターの例は、UARTインターフェイスを渡す必要があります(必要に応じて、それが認められている)AUX PIN、M0およびM1を渡す必要があります。
from lora_e220 import LoRaE220
from machine import UART
uart2 = UART ( 2 )
lora = LoRaE220 ( '400T22D' , uart2 , aux_pin = 15 , m0_pin = 21 , m1_pin = 19 ) code = lora . begin ()
print ( "Initialization: {}" , ResponseStatusCode . get_description ( code )) from lora_e220 import LoRaE220 , print_configuration
from lora_e220_operation_constant import ResponseStatusCode
code , configuration = lora . get_configuration ()
print ( "Retrieve configuration: {}" , ResponseStatusCode . get_description ( code ))
print_configuration ( configuration )結果
----------------------------------------
Initialization: {} Success
Retrieve configuration: {} Success
----------------------------------------
HEAD : 0xc1 0x0 0x8
AddH : 0x0
AddL : 0x0
Chan : 23 -> 433
SpeedParityBit : 0b0 -> 8N1 (Default)
SpeedUARTDatte : 0b11 -> 9600bps (default)
SpeedAirDataRate : 0b10 -> 2.4kbps (default)
OptionSubPacketSett: 0b0 -> 200bytes (default)
OptionTranPower : 0b0 -> 22dBm (Default)
OptionRSSIAmbientNo: 0b0 -> Disabled (default)
TransModeWORPeriod : 0b11 -> 2000ms (default)
TransModeEnableLBT : 0b0 -> Disabled (default)
TransModeEnableRSSI: 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 . 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 . 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 . OPTION . subPacketSetting = SubPacketSetting . SPS_064_10
configuration_to_set . TRANSMISSION_MODE . fixedTransmission = FixedTransmission . FIXED_TRANSMISSION
configuration_to_set . TRANSMISSION_MODE . WORPeriod = WorPeriod . WOR_1500_010
configuration_to_set . TRANSMISSION_MODE . enableLBT = LbtEnableByte . LBT_DISABLED
configuration_to_set . TRANSMISSION_MODE . enableRSSI = RssiEnableByte . RSSI_ENABLED
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 )
utime . sleep_ms ( 2000 )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' ])
utime . sleep_ms ( 2000 )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
Lora Smart Home(LLCC68)は、中距離屋内および屋内から屋外のワイヤレスアプリケーション用のサブGHzLORA®RFトランシーバーです。 SPIインターフェイス。ピンからピンはSX1262と互換性があります。 SX1261、SX1262、SX1268、およびLLCC68は、わずか4.2 mAのアクティブな受信電流消費量で長いバッテリー寿命のために設計されています。 SX1261は最大+15 dBMを送信でき、SX1262、SX1268、およびLLCC68は、非常に効率的な統合パワーアンプで+22 dBMまで送信できます。
これらのデバイスは、LPWANユースケースのLORA変調と(g)レガシーユースケースのFSK変調をサポートしています。デバイスは、消費者の使用に関するさまざまなアプリケーション要件を満たすために高度に構成できます。このデバイスは、LoraAlliance®がリリースしたLorawan®仕様で使用されるSemTechトランシーバーと互換性のあるLORA変調を提供します。この無線は、ETSI EN 300 220、FCC CFR 47パート15、中国規制要件、および日本のARIB T-108を含むがこれらに限定されないラジオ規制のコンプライアンスを対象としたシステムに適しています。 150MHzから960MHzまでの連続周波数カバレッジにより、世界中のすべての主要なサブGHz ISMバンドのサポートが可能になります。
| LLCC68 | SX1278-SX1276 | |
|---|---|---|
| 距離 | > 11km | 8km |
| レート(lora) | 1.76kbps - 62.5kbps | 0.3kbps - 19.2kbps |
| 睡眠消費電力 | 2µA | 5µA |
Arduino、ESP32、またはESP8266用のebyte lora e220 llcc68デバイス用ライブラリ。
| ピン番号 | ピンアイテム | ピン方向 | ピンアプリケーション |
|---|---|---|---|
| 1 | M0 | 入力(弱いプルアップ) | M1を使用して、4つの操作モードを決定します。フローティングは許可されていません。それは地面になることができます。 |
| 2 | M1 | 入力(弱いプルアップ) | M0を使用して、4つの操作モードを決定します。フローティングは許可されていません。それは地面になることができます。 |
| 3 | RXD | 入力 | TTL UART入力は、外部(MCU、PC)TXD出力ピンに接続します。オープンドレインまたはプルアップ入力として構成できます。 |
| 4 | TXD | 出力 | TTL UART出力は、外部RXD(MCU、PC)入力ピンに接続します。オープンドレインまたはプッシュプル出力として構成できます |
5 | aux | 出力 | モジュールの作業ステータスを示し、外部MCUを目覚めさせます。セルフチェックの初期化の手順中、ピンは低レベルに出力されます。オープンドレインまたはプッシュプル出力として構成できます(フローティングは許可されています)。 |
| 6 | VCC | 電源3V〜5.5V DC | |
| 7 | GND | 地面 |
ご覧のとおり、M0およびM1ピンを介してさまざまなモードを設定できます。
| モード | M1 | M0 | 説明 |
|---|---|---|---|
| 普通 | 0 | 0 | UARTおよびワイヤレスチャネルが開いており、透明なトランスミッションがオンになっています |
| worトランスミッター | 0 | 1 | worトランスミッター |
| WORレシーバー | 1 | 0 | worレシーバー(空中に目覚めることをサポート) |
| 深い睡眠モード | 1 | 1 | モジュールは眠りにつく(パラメーターを構成するときに自動的に目覚めます) |
一部のピンは静的に使用できますが、それらをマイクロコントローラーに接続してライブラリで構成すると、パフォーマンスが得られ、ソフトウェアを介してすべてのモードを制御できます。それでも、私たちは次により良い説明をするつもりです。
すでに言ったように、すべてのピンをマイクロコントローラーの出力に接続することは不可欠ではありません。 M0およびM1ピンを高またはLowに配置して、目的の構成を取得できます。 AUXを接続しない場合、ライブラリは操作が完全であることを確認するために合理的な遅延を設定します(デバイスのフリーズに問題がある場合は、 4.7K抵抗器を配置するか、デバイスに接続する必要があります。 )。
送信データを使用して外部MCUを起動し、データ転送仕上げで高く戻すことができます。
受信するとき、AUXは低くなり、バッファが空になると高く戻ります。
また、自己チェックには、定期的な操作を復元するために使用されます(パワーオンおよびスリープ/プログラムモード)。
ESP8266接続スキーマは、論理通信(3.3V)の同じ電圧で動作するため、より簡単です。
良い安定性を得るために、プルアップ抵抗器(4,7kohm)を追加することが不可欠です。
| E22 | ESP8266 |
|---|---|
| M0 | D7 |
| M1 | D6 |
| TX | ピンD2(プルアップ4,7kΩ) |
| Rx | ピンD3(プルアップ4,7kΩ) |
| aux | ピンD5(プルアップ4,7kΩ) |
| VCC | 5V(ただし、3.3Vでより少ない電力で動作します) |
| GND | GND |
ESP32では同様の接続スキーマですが、RXとTXではRX2とTX2を使用します。デフォルトでは、ESP32にはソフトウェアセリアルがなく、3つのシリアルがあります。
| E22 | ESP32 |
|---|---|
| M0 | D21 |
| M1 | D19 |
| TX | ピンRX2(プルアップ4,7kΩ) |
| Rx | ピンTX3(プルアップ4,7kΩ) |
| aux | ピンD18(プルアップ4,7kΩ)(D15を起動する) |
| VCC | 5V(ただし、3.3Vでより少ない電力で動作します) |
| GND | GND |
| M0 | 2(電圧分割) |
| M1 | 3(電圧分割) |
| TX | ピン14 TX(プルアップ4,7kΩ) |
| Rx | ピン13 RX(プルアップ4,7kΩ) |
| aux | ピン1(プルアップ4,7kΩ) |
| VCC | 5V |
| GND | GND |
ここでPCBを注文できます
ガイドの6つの部分に関する指導とアセンブリビデオ
ここでPCBを注文できます
ガイドの6つの部分に関する指導とアセンブリビデオ
LORAまたは長距離ワイヤレスデータテレメトリーは、 NRF24L01(433 MHz、868 MHz、またはNRF24L01の2.4 GHzに対して916 MHz)よりも低い周波数で動作するSemTechによって開拓された技術ですが、距離(5000Mから11000M)。
| 名前 | 説明 | 住所 |
|---|---|---|
| アド | モジュールの高いアドレスバイト(デフォルト00H) | 00H |
| addl | モジュールの低いアドレスバイト(デフォルト00H) | 01H |
| sped | データレートのパリティビットと航空データレートに関する情報 | 02H |
| オプション | 送信の種類、パケットサイズ、特別なメッセージを許可します | 03H |
| チャン | 通信チャネル(410m + chan*1m)、デフォルト17h(433MHz)、 433MHzデバイスデバイスのみで有効で、デバイスの正しい頻度を確認するために以下を確認してください | 04h |
| オプション | 送信の種類、パケットサイズ、特別なメッセージを許可します | 05H |
| inssomision_mode | 伝送モダリティを指定する多くのパラメーター | 06H |
| 地下室 | 傍受を避けるための暗号化 | 07H |
UARTパリティビット: UARTモードは通信パーティー間で異なる場合があります
| UARTパリティビット | 一定の値 |
|---|---|
| 8N1(デフォルト) | mode_00_8n1 |
| 8o1 | mode_01_8o1 |
| 8e1 | mode_10_8e1 |
| 8n1(00に等しい) | mode_11_8n1 |
UARTボーレート:UARTボーレートは、通信パーティー間で異なる場合があります(ただし、認識されていません)。 UARTボーレートは、ワイヤレス送信パラメーターとは関係ありません。ワイヤレス送信/受信機能には影響しません。
| ttl uart baudレート(bps) | 一定の値 |
|---|---|
| 1200 | uart_bps_1200 |
| 2400 | uart_bps_2400 |
| 4800 | uart_bps_4800 |
| 9600(デフォルト) | uart_bps_9600 |
| 19200 | UART_BPS_19200 |
| 38400 | uart_bps_38400 |
| 57600 | uart_bps_57600 |
| 115200 | uart_bps_115200 |
空気データレート:空気データレートが低いほど、送信距離が長くなり、干渉防止性能が向上し、送信時間が長くなります。空気データレートは、両方の通信パーティーで一定でなければなりません。
| エアデータレート(BP | 一定の値 |
|---|---|
| 2.4k | air_data_rate_000_24 |
| 2.4k | air_data_rate_001_24 |
| 2.4k(デフォルト) | air_data_rate_010_24 |
| 4.8k | air_data_rate_011_48 |
| 9.6k | air_data_rate_100_96 |
| 19.2k | air_data_rate_101_192 |
| 38.4k | air_data_rate_110_384 |
| 62.5k | air_data_rate_111_625 |
これはパケットの最大長です。
データがサブパケットの長さよりも小さい場合、受信側のシリアル出力は途切れない連続出力です。受信エンドシリアルポートは、データがサブパケットの長さよりも大きいときにサブパケットを出力します。
| パケットサイズ | 一定の値 |
|---|---|
| 200バイト(デフォルト) | SPS_200_00 |
| 128bytes | SPS_128_01 |
| 64バイト | SPS_064_10 |
| 32バイト | SPS_032_11 |
このコマンドは、RSSIの管理タイプを有効/無効にすることができ、リモート構成を管理することが不可欠です。注意を払ってくださいメッセージ内のRSSIパラメーターではありません。
有効にすると、C0、C1、C2、C3コマンドを送信モードまたはWOR送信モードで送信して、レジスタを読み取ることができます。登録0x00:現在のアンビエントノイズRSSIレジスタ0x01:RSSIデータが前回受信されたとき。
| RSSI周囲ノイズ有効化 | 一定の値 |
|---|---|
| 有効にする | rssi_ambient_noise_enabled |
| 無効(デフォルト) | rssi_ambient_noise_disabled |
このような定義を適用することにより、この定数のセットを変更できます。
#define e220_22 //設定なしのデフォルト値
最大パワーとして22dbmのE220に適用されます。
低電力供給効率のため、低出力トランスミッションは推奨されません。
| トランスミッションパワー(近似) | 一定の値 |
|---|---|
| 22dbm(デフォルト) | Power_22 |
| 17dbm | Power_17 |
| 13dbm | Power_13 |
| 10dbm | Power_10 |
最大パワーとして30dbmのE220に適用されます。
低電力供給効率のため、低出力トランスミッションは推奨されません。
#define e220_30
| トランスミッションパワー(近似) | 一定の値 |
|---|---|
| 30dbm(デフォルト) | Power_30 |
| 27dbm | Power_27 |
| 24dbm | Power_24 |
| 21dbm | Power_21 |
これを定義すると、チャネル周波数を構成できます。
//の1つ #define freucre_433 #define fuelveric_170 #define fuelveric_470 #define freuce_868 #define freucre_915
有効になると、モジュールはワイヤレスデータを受信し、シリアルポートTXDを介して出力した後、RSSI強度バイトに従います
| rssiを有効にします | 一定の値 |
|---|---|
| 有効にする | rssi_enabled |
| 無効(デフォルト) | rssi_disabled |
送信モード:各ユーザーのデータフレームの最初の3バイトは、固定伝送モードで高/低アドレスおよびチャネルとして使用できます。モジュールは、送信時にアドレスとチャネルを変更します。また、プロセスを完了した後、元の設定に戻ります。
| ビットを有効にする送信を固定しました | 一定の値 |
|---|---|
| 送信モードを固定しました | ft_fixed_transmission |
| 透明な伝送モード(デフォルト) | ft_transparent_transmission |
有効にすると、ワイヤレスデータが送信される前に監視され、ある程度の干渉を回避しますが、データの遅延を引き起こす可能性があります。
| LBTを有効にするバイト | 一定の値 |
|---|---|
| 有効にする | LBT_ENABLED |
| 無効(デフォルト) | LBT_DISABLED |
WORが送信されている場合:WORレシーバーがワイヤレスデータを受信し、シリアルポートから出力した後、WORを再び入力する前に1000msが待機します。ユーザーは、この期間中にシリアルポートデータを入力し、ワイヤレスで返すことができます。各シリアルバイトは1000msで更新されます。ユーザーは、1000ms以内の最初のバイトを送信する必要があります。
| ワイヤレスウェイクアップ時間 | 一定の値 |
|---|---|
| 500ms | wake_up_500 |
| 1000ms | wake_up_1000 |
| 1500ms | wake_up_1500 |
| 2000ms(デフォルト) | wake_up_2000 |
| 2500ms | wake_up_2500 |
| 3000ms | wake_up_3000 |
| 3500ms | wake_up_3500 |
| 4000ms | wake_up_4000 |
まず、何かが受信バッファーにあるかどうかを確認するためのシンプルだが実用的な方法を導入する必要があります。
int vayaver();
現在のストリームにあるバイトの数を返すのは簡単です。
通常/透明な送信モードは、同じアドレスとチャネルを持つすべてのデバイスにメッセージを送信します。
固定トランスミッションには、より多くのシナリオがあります
今、あなたはあなたの仕事をするためのすべての情報を持っていますが、私はすべての可能性をよりよく理解するためにいくつかの本当の例を示すことが重要だと思います。
Githubライブラリ