Мазмуну:
- Жабдуулар
- 1 -кадам: Китепкана
- 2 -кадам: Pinout
- 3 -кадам: AUX Pin
- 4 -кадам: Толугу менен туташкан схема Esp8266
- 5 -кадам: Толугу менен туташкан схема Arduino
- 6 -кадам: Китепкана: Конструктор
- 7 -кадам: Баштаңыз
- 8 -кадам: Конфигурация жана маалымат ыкмасы
- 9 -кадам: жооп контейнери
- 10 -кадам: Негизги конфигурация опциясы
- 11 -кадам: Кабыл алуу билдирүүсүн жөнөтүү
- 12 -кадам: Жөнөкөй берүү режими
- 13 -кадам: структураны башкаруу
- 14 -кадам: Кадимки режимдин ордуна туруктуу режим
- 15 -кадам: рахмат
Video: LoRa 3Km - 8Km Wireless Communication with Low Cost E32 (sx1278/sx1276) Arduino, Esp8266 же Esp32 үчүн түзмөк: 15 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Мен LoBa түзмөгүнүн Semtech сериясына негизделген EBYTE E32 башкаруу үчүн китепкана түзөм, абдан күчтүү, жөнөкөй жана арзан түзмөк.
Бул жерде 3Km, 8Km версиясын таба аласыз
Алар 3000мден 8000мге чейинки аралыкта иштей алышат жана көптөгөн өзгөчөлүктөргө жана параметрлерге ээ. Ошентип, мен бул китепкананы колдонууну жөнөкөйлөтүү үчүн түзөм.
Бул борбордук сенсорлордон маалыматтарды алуу же пилотсуз учактарды башкаруу үчүн чечим.
Жабдуулар
Arduino UNO
Wemos D1 mini
LoRa E32 TTL 100 3Km версиясы
LoRa E32 TTL 1W 8Km версиясы
1 -кадам: Китепкана
Бул жерден менин китепканамды таба аласыз.
Жүктөө үчүн.
Жогорку оң бурчтагы ЖҮКТӨР баскычын чыкылдатыңыз, кысылбаган папканын атын LoRa_E32 деп өзгөртүңүз.
LoRa_E32 папкасында LoRa_E32.cpp жана LoRa_E32.h бар экендигин текшериңиз.
LoRa_E32 китепкана папкасын сиздин / libraries / папканы коюңуз. Сиз биринчи китепкана болсоңуз, китепканалар субфольдорун түзүшүңүз керек болот.
IDEди кайра жүктөө.
2 -кадам: Pinout
Көрүнүп тургандай, сиз M0 жана M1 казыктары аркылуу ар кандай режимдерди орното аласыз.
Статикалык түрдө колдонууга боло турган кээ бир казыктар бар, бирок эгер сиз аны микроконтроллерге туташтырсаңыз жана аларды китепканадан конфигурацияласаңыз, сиз өндүрүмдүүлүккө ээ болосуз жана программалык камсыздоо аркылуу бардык режимди башкара аласыз, бирок биз кийинкиде жакшыраак түшүндүрөбүз.
3 -кадам: AUX Pin
Мен айтканымдай, бардык пинди микроконтроллердин туташуусуна кошуу маанилүү эмес, сиз M0 жана M1 төөнөгүчтөрүн ЖОКко же ТӨМӨНгө коюп, конфигурациялоону ала аласыз, эгер сиз AUXке туташпасаңыз, анда китепкана ишенимдүү болуш үчүн акылга сыярлык кечигүүнү орнотот. операция аяктады деп.
AUX пин
Берилиштерди берүүдө тышкы MCUну ойготуу жана маалыматтарды берүүнүн аягына ЖОКту кайтаруу үчүн колдонсо болот.
AUX алгандан кийин LOW төмөн жана буфер бош болгондо HIGH кайтарыңыз.
Ал ошондой эле кадимки иштөөнү калыбына келтирүү үчүн өзүн өзү текшерүү үчүн колдонулат (күйгүзүү жана уйку/программа режиминде).
4 -кадам: Толугу менен туташкан схема Esp8266
esp8266 байланыш схемасы жөнөкөй, анткени ал логикалык байланыштын бирдей чыңалуусунда иштейт (3.3v).
Жакшы туруктуулукту алуу үчүн тартма каршылыкты (4, 7Kohm) кошуу маанилүү.
5 -кадам: Толугу менен туташкан схема Arduino
Arduino жумушчу чыңалуусу 5v, андыктан биз бузулууну болтурбоо үчүн LoRa модулунун RX пин M0 жана M1 чыңалуу бөлүштүргүчүн кошушубуз керек, бул жерден көбүрөөк маалымат ала аласыз Чыңалуу бөлүүчү: эсептегич жана колдонмо.
Сиз 2Xohm резисторун GND жана 1Kohm сигналдан RXке чогуу колдоно аласыз.
6 -кадам: Китепкана: Конструктор
Мен көптөгөн конструкторлордун топтомун жасадым, анткени бизде башка варианттар жана кырдаалдар болушу мүмкүн.
LoRa_E32 (байт rxPin, байт txPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (байт rxPin, байт txPin, байт auxPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600); LoRa_E32 (байт rxPin, байт txPin, байт auxPin, байт m0Pin, байт m1Pin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
Конструкторлордун биринчи топтому китепканага Сериялык жана башка казыктарды башкарууну тапшыруу үчүн түзүлгөн.
rxPin жана txPin UART менен туташуу үчүн пин болуп саналат жана алар милдеттүү түрдө.
auxPin - бул иштөөнү, өткөрүп берүүнү жана кабыл алууну текшерүүчү пин (кийинкиде жакшыраак түшүндүрөбүз), бул пин бул милдеттүү эмес, эгер сиз аны орнотпосоңуз, мен операцияны аягына чыгарууга уруксат берүү үчүн кечигүүнү колдоном (кечигүү менен).
m0pin жана m1Pin - бул иштөө режимин өзгөртүү үчүн казыктар (үстөлдүн үстүн караңыз), менимче, бул "өндүрүштөгү" казыктар түздөн -түз ЖОГОРУ же ТӨМӨН туташат, бирок сыноо үчүн алар китепкана тарабынан башкарылат.
bpsRate - бул SoftwareSerialдин ылдамдыгы, адатта, 9600 (программисттин/уйку режиминдеги бир гана чен)
Жөнөкөй мисал
#include "LoRa_E32.h" LoRa_E32 e32ttl100 (2, 3); // RX, TX // LoRa_E32 e32ttl100 (2, 3, 5, 6, 7); // RX, TX
Биз SoftwareSerialди башка конструктор менен түз колдоно алабыз
LoRa_E32 (HardwareSerial* сериясы, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (HardwareSerial* сериялык, байт auxPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (HardwareSerial* сериялык, байт auxPin, байт m0Pin, байт m1Pin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
Бул конструктор менен мисал жогорудагыдай болушу мүмкүн.
#кошуу #кошуу "LoRa_E32.h"
SoftwareSerial mySerial (2, 3); // RX, TX
LoRa_E32 e32ttl100 (& mySerial);
// LoRa_E32 e32ttl100 (& mySerial, 5, 7, 6);
Конструктордун акыркы топтому SoftwareSerialдин ордуна HardwareSerialди колдонууга уруксат берүү.
LoRa_E32 (SoftwareSerial* сериясы, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (SoftwareSerial* сериясы, байт auxPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (SoftwareSerial* сериясы, байт auxPin, байт m0Pin, байт m1Pin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
7 -кадам: Баштаңыз
Баштоо буйругу Serialди жана казыктарды киргизүү жана чыгаруу режиминде баштоо үчүн колдонулат.
void begin ();
аткарууда
// Бардык казыктарды жана UARTти баштоо
e32ttl100.begin ();
8 -кадам: Конфигурация жана маалымат ыкмасы
Конфигурацияны башкаруу жана түзмөк жөнүндө маалымат алуу үчүн бир топ ыкмалар бар.
ResponseStructContainer getConfiguration ();
ResponseStatus setConfiguration (Конфигурация конфигурациясы, PROGRAM_COMMAND saveType = WRITE_CFG_PWR_DWN_LOSE);
ResponseStructContainer getModuleInformation ();
void printParameters (struct Configuration конфигурациясы);
ResponseStatus resetModule ();
9 -кадам: жооп контейнери
Жоопту башкарууну жөнөкөйлөтүү үчүн мен контейнерлердин топтомун түзөм, мен үчүн каталарды башкаруу жана жалпы маалыматтарды кайтаруу абдан пайдалуу.
ResponseStatus
Бул статус контейнери жана 2 жөнөкөй кирүү чекити бар, мунун жардамы менен сиз статус кодун жана статус кодунун сүрөттөмөсүн ала аласыз
Serial.println (c.getResponseDescription ()); // Коддун сүрөттөлүшү
Serial.println (c.code); // 1 эгер Ийгилик
Код болуп саналат
ИЙГИЛИК = 1, ERR_UNKNOWN, ERR_NOT_SUPPORT, ERR_NOT_IMPLEMENT, ERR_NOT_INITIAL, ERR_INVALID_PARAM, ERR_DATA_SIZE_NOT_MATCH, ERR_BUF_TOO_SMALL, ERR_TIMEOUT, ERR_HARDWARE, ERR_HEAD_NOT_RECOGNIZED
ResponseContainer
Бул контейнер String жообун башкаруу үчүн түзүлгөн жана 2 кирүү чекитине ээ.
сап менен берилүүчү маалыматтар RepsonseStatusтун мисалынан жана билдирүүдөн кайтарылган.
ResponseContainer rs = e32ttl.receiveMessage ();
String билдирүү = rs.data;
Serial.println (rs.status.getResponseDescription ());
Serial.println (билдирүү);
ResponseStructContainer
Бул кыйла "татаал" контейнер, мен муну структураны башкаруу үчүн колдоном, ResponseContainerдин кирүү пунктуна ээ, бирок маалыматтар татаал структураны башкаруу үчүн боштук көрсөткүчү.
ResponseStructContainer c;
c = e32ttl100.getConfiguration (); // Башка операциядан мурун конфигурация көрсөткүчүн алуу маанилүү
Конфигурация конфигурациясы = *(Конфигурация *) c.data;
Serial.println (c.status.getResponseDescription ());
Serial.println (статус.код);
getConfiguration жана setConfiguration
Биринчи ыкма getConfiguration, аны түзмөктө сакталган бардык маалыматтарды алуу үчүн колдоно аласыз.
ResponseStructContainer getConfiguration ();
Бул жерде колдонуу мисалы.
ResponseStructContainer c;
c = e32ttl100.getConfiguration (); // Башка операциядан мурун конфигурация көрсөткүчүн алуу маанилүү
Конфигурация конфигурациясы = *(Конфигурация *) c.data;
Serial.println (c.status.getResponseDescription ());
Serial.println (статус.код);
Serial.println (configuration. SPED.getUARTBaudRate ());
Конфигурациянын структурасында орнотуулардын бардык маалыматтары бар жана мен бирдиктүү маалыматтардын бардык сүрөттөмөсүн алуу үчүн бир катар функцияларды кошом.
configuration. ADDL = 0x0; // Addressconfiguration. ADDH = 0x1дин биринчи бөлүгү; // Дарек конфигурациясынын экинчи бөлүгү. CHAN = 0x19; // Каналдын конфигурациясы. OPTION.fec = FEC_0_OFF; // Алга каталарды оңдоо которгуч конфигурациясы. OPTION.fixedTransmission = FT_TRANSPARENT_TRANSMISSION; // Берүү режиминин конфигурациясы. OPTION.ioDriveMode = IO_D_MODE_PUSH_PULLS_PULL_UPS; // Баш тартуу конфигурациясы. OPTION.transmissionPower = POWER_17; // дБм берүү кубатынын конфигурациясы. OPTION.wirelessWakeupTime = WAKE_UP_1250; // Ойгонуу конфигурациясын күтө туруңуз. SPED.airDataRate = AIR_DATA_RATE_011_48; // Аба ылдамдыгынын конфигурациясы. SPED.uartBaudRate = UART_BPS_115200; // Communication baud rate configuration. SPED.uartParity = MODE_00_8N1; // Паритет бит
Сизде бардык сыпаттаманы алуу үчүн эквиваленттүү функция бар:
Serial.print (F ("Чан:")); Serial.print (конфигурация. CHAN, DEC); Serial.print (" ->"); Serial.println (configuration.getChannelDescription ()); Serial.println (F ("")); Serial.print (F ("SpeedParityBit:")); Serial.print (configuration. SPED.uartParity, BIN); Serial.print (" ->"); Serial.println (configuration. SPED.getUARTParityDescription ()); Serial.print (F ("SpeedUARTDatte:")); Serial.print (configuration. SPED.uartBaudRate, BIN); Serial.print (" ->"); Serial.println (configuration. SPED.getUARTBaudRate ()); Serial.print (F ("SpeedAirDataRate:")); Serial.print (configuration. SPED.airDataRate, BIN); Serial.print (" ->"); Serial.println (configuration. SPED.getAirDataRate ()); Serial.print (F ("OptionTrans:")); Serial.print (config. OPTION.fixedTransmission, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getFixedTransmissionDescription ()); Serial.print (F ("OptionPullup:")); Serial.print (configuration. OPTION.ioDriveMode, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getIODroveModeDescription ()); Serial.print (F ("OptionWakeup:")); Serial.print (config. OPTION.wirelessWakeupTime, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getWirelessWakeUPTimeDescription ()); Serial.print (F ("OptionFEC:")); Serial.print (config. OPTION.fec, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getFECDescription ()); Serial.print (F ("OptionPower:")); Serial.print (config. OPTION.transmissionPower, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getTransmissionPowerDescription ());
Ошол эле жол менен setConfiguration конфигурация структурасын каалайт, ошондуктан менимче, конфигурацияны башкаруунун эң жакшы жолу - учурдагы жаңысын алуу, сизге керектүү болгон өзгөрүүнү колдонуу жана аны кайра орнотуу.
ResponseStatus setConfiguration (Конфигурация конфигурациясы, PROGRAM_COMMAND saveType = WRITE_CFG_PWR_DWN_LOSE);
конфигурация - бул өзгөрүү учурдагы сеанс үчүн биротоло болуп калса, тандоо тандоосуна saveType уруксаты.
ResponseStructContainer c; c = e32ttl100.getConfiguration (); // Бардык башка операцияларга чейин конфигурация көрсөткүчүн алуу маанилүү Конфигурация конфигурациясы = *(Конфигурация *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (статус.код); printParameters (конфигурация); configuration. ADDL = 0x0; configuration. ADDH = 0x1; конфигурация. CHAN = 0x19; конфигурация. OPTION.fec = FEC_0_OFF; config. OPTION.fixedTransmission = FT_TRANSPARENT_TRANSMISSION; config. OPTION.ioDriveMode = IO_D_MODE_PUSH_PULLS_PULL_UPS; config. OPTION.transmissionPower = POWER_17; конфигурация. OPTION.wirelessWakeupTime = WAKE_UP_1250; configuration. SPED.airDataRate = AIR_DATA_RATE_011_48; configuration. SPED.uartBaudRate = UART_BPS_115200; configuration. SPED.uartParity = MODE_00_8N1; // Орнотуу конфигурациясы өзгөртүлдү жана конфигурацияны кармабоого коюлду ResponseStatus rs = e32ttl100.setConfiguration (конфигурация, WRITE_CFG_PWR_DWN_LOSE); Serial.println (rs.getResponseDescription ()); Serial.println (rs.code); printParameters (конфигурация);
Параметрдин бардыгы туруктуу катары башкарылат:
10 -кадам: Негизги конфигурация опциясы
11 -кадам: Кабыл алуу билдирүүсүн жөнөтүү
Биринчиден, кабыл алуучу буферде бир нерсе бар -жогун текшерүү үчүн жөнөкөй, бирок пайдалуу ыкманы киргизишибиз керек
int available ();
Бул жөн эле учурдагы агымда канча байт бар экенин кайтаруу.
12 -кадам: Жөнөкөй берүү режими
Кадимки/Ачык берүү режими бир эле дарекке жана каналга ээ болгон бардык түзмөккө билдирүүлөрдү жөнөтүү үчүн колдонулат.
Билдирүүнү жөнөтүүнүн/алуунун көптөгөн ыкмалары бар, биз майда -чүйдөсүнө чейин түшүндүрөбүз:
ResponseStatus sendMessage (const String билдирүүсү);
ResponseContainer receiveMessage ();
Биринчи ыкма sendMessage болуп саналат жана кадимки режимде түзмөккө String жөнөтүү үчүн колдонулат.
ResponseStatus rs = e32ttl.sendMessage ("Prova"); Serial.println (rs.getResponseDescription ());
Башка түзмөк жөн гана укурукта жасайт
if (e32ttl.available ()> 1) {ResponseContainer rs = e32ttl.receiveMessage (); String билдирүү = rs.data; // Алгач Serial.println (rs.status.getResponseDescription ()) маалыматын алыңыз; Serial.println (билдирүү); }
13 -кадам: структураны башкаруу
Эгерде сиз татаал структураны жөнөткүңүз келсе, анда бул ыкманы колдоно аласыз
ResponseStatus sendMessage (const void *билдирүүсү, const uint8_t өлчөмү); ResponseStructContainer receiveMessage (const uint8_t өлчөмү);
Бул структураны жөнөтүү үчүн колдонулат, мисалы:
түзүм Messaggione {char type [5]; char билдирүүсү [8]; болит митико; }; struct Messaggione messaggione = {"TEMP", "Peple", true}; ResponseStatus rs = e32ttl.sendMessage (& messaggione, sizeof (Messaggione)); Serial.println (rs.getResponseDescription ());
жана экинчи тарап сиз кабарды ушинтип ала аласыз
ResponseStructContainer rsc = e32ttl.receiveMessage (sizeof (Messaggione)); struct Messaggione messaggione = *(Messaggione *) rsc.data; Serial.println (messaggione.message); Serial.println (messaggione.mitico);
Жарым -жартылай түзүлүштү окуу
Эгерде сиз структуранын башка түрүн башкаруу үчүн билдирүүнүн биринчи бөлүгүн окууну кааласаңыз, анда бул ыкманы колдоно аласыз.
ResponseContainer receiveInitialMessage (const uint8_t size);
Мен муну жүктөлүүчү структураны аныктоо үчүн түрү же башка сапты алуу үчүн түзөм.
struct Messaggione {// Typechar билдирүүсүз жарым -жартылай структура [8]; болит митико; }; char түрү [5]; // ResponseContainer структурасынын биринчи бөлүгү rs = e32ttl.receiveInitialMessage (sizeof (түрү)); // Сапты char массивине коюңуз (кереги жок) memcpy (type, rs.data.c_str (), sizeof (type)); Serial.println ("READ TYPE:"); Serial.println (rs.status.getResponseDescription ()); Serial.println (түрү); // Калганын ResponseStructContainer окуу rsc = e32ttl.receiveMessage (sizeof (Messaggione))); struct Messaggione messaggione = *(Messaggione *) rsc.data;
14 -кадам: Кадимки режимдин ордуна туруктуу режим
Ошо сыяктуу эле, мен туруктуу трансмиссия менен колдонуу үчүн бир топ ыкмаларды түзөм
Туруктуу берүү
Жөнөтүү ыкмасын гана өзгөртүү керек, анткени бара турган түзмөк дарек жана каналдын преамбуласын туруктуу режимде албайт.
Ошентип, String билдирүүсү үчүн сизде
ResponseStatus sendFixedMessage (байт ADDL, байт ADDH, байт CHAN, const String билдирүүсү); ResponseStatus sendBroadcastFixedMessage (байт CHAN, const String билдирүүсү);
жана структураңыз үчүн
ResponseStatus sendFixedMessage (байт ADDL, байт ADDH, байт CHAN, const void *билдирүүсү, const uint8_t өлчөмү); ResponseStatus sendBroadcastFixedMessage (байт CHAN, const void *билдирүү, const uint8_t өлчөмү);
Бул жерде жөнөкөй мисал
ResponseStatus rs = e32ttl.sendFixedMessage (0, 0, 0x17, & messaggione, sizeof (Messaggione))); // ResponseStatus rs = e32ttl.sendFixedMessage (0, 0, 0x17, "Ciao");
Туруктуу берүү дагы сценарийлерге ээ
Эгер сиз конкреттүү түзмөккө жөнөтсөңүз (экинчи сценарийлерди берүү), аны түздөн -түз аныктоо үчүн ADDL, ADDH жана CHAN кошууңуз керек.
ResponseStatus rs = e32ttl.sendFixedMessage (2, 2, 0x17, "Аспапка билдирүү");
Эгерде сиз каалаган каналдагы бардык түзмөккө билдирүү жөнөтүүнү кааласаңыз, бул ыкманы колдоно аласыз.
ResponseStatus rs = e32ttl.sendBroadcastFixedMessage (0x17, "Каналдын түзмөктөрүнө билдирүү");
Эгерде сиз бардык таркатуу билдирүүсүн тармактан алууну кааласаңыз, ADDH жана ADDLди BROADCAST_ADDRESS менен орнотушуңуз керек.
ResponseStructContainer c; c = e32ttl100.getConfiguration (); // Бардык башка операцияларга чейин конфигурация көрсөткүчүн алуу маанилүү Конфигурация конфигурациясы = *(Конфигурация *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (статус.код); printParameters (конфигурация); configuration. ADDL = BROADCAST_ADDRESS; конфигурация. ADDH = BROADCAST_ADDRESS; // Орнотуу конфигурациясы өзгөртүлдү жана конфигурацияны кармабоого коюлду ResponseStatus rs = e32ttl100.setConfiguration (конфигурация, WRITE_CFG_PWR_DWN_LOSE); Serial.println (rs.getResponseDescription ()); Serial.println (rs.code); printParameters (конфигурация);
15 -кадам: рахмат
Эми сизде өз жумушуңуз үчүн бардык маалымат бар, бирок мен бардык мүмкүнчүлүктөрдү жакшыраак түшүнүү үчүн реалдуу мисалдарды көрсөтүү маанилүү деп ойлойм.
- Arduino, esp32 же esp8266 үчүн LoRa E32 түзмөгү: орнотуулар жана негизги колдонуу
- Arduino, esp32 же esp8266 үчүн LoRa E32 түзмөгү: китепкана
- Arduino, esp32 же esp8266 үчүн LoRa E32 түзмөгү: конфигурация
- Arduino, esp32 же esp8266 үчүн LoRa E32 түзмөгү: туруктуу берүү
- Arduino, esp32 же esp8266 үчүн LoRa E32 түзмөгү: энергияны үнөмдөө жана структураланган маалыматтарды жөнөтүү
Сунушталууда:
Батарея менен иштеген түзмөк үчүн DC адаптерин колдонуу: 3 кадам
Батарея менен иштеген түзмөк үчүн DC адаптерин колдонуу: Бул Нускамада сизге батарейкалардын ордуна DC адаптерин кантип колдонуу керектиги көрсөтүлөт. Туруктуу электр энергиясын колдонуу менен, сизге батарейкалардын кереги жок болот, бул аппаратты иштетүүгө арзан кылат. Бул жерде бамбуктан жасалган имитациялык батарея
ESP32 E32-433T LoRa модулу менен - LoRa Arduino Interfacing: 8 кадам
ESP32 E32-433T LoRa модулу менен | LoRa Arduino Interfacing: Эй, эмне болду, балдар! Akarsh бул жерде CETech.This Менин долбоорум EBote E32 LoRa модулун Arduino IDE колдонгон ESP32 менен жогорку кубаттуулугу 1 ватт трансивер модулу менен байланыштырат
E32-433T LoRa Module Tutorial - E32 модулу үчүн DIY Breakout Board: 6 кадам
E32-433T LoRa Module Tutorial | E32 модулу үчүн DIY Breakout Board: Эй, эмне болду, балдар! Akarsh бул жерден CETech.This minate менин долбоорум-бул EBORA E32 LoRa модулунун иштешин түшүнүү үчүн көбүрөөк кубат 1 ватт трансивер модулу. Жумушту түшүнгөндөн кийин, менде дизайн бар
Кийилүүчү түзмөк үчүн RYB080l Bluetooth үйрөткүчү: 8 кадам
Кийилүүчү түзмөк үчүн RYB080l Bluetooth үйрөткүчү: Эй, эмне болду, балдар! Акарш бул жерде CETechтен. Менин бул долбоорум Reyaxтин кичинекей Bluetooth модулунун иштешин түшүнүү үчүн көбүрөөк үйрөнүү ийрими болуп саналат. Биринчиден, биз модулду жалгыз түшүнөбүз жана аны түз колдонууга аракет кылабыз, анда биз бирге иштейбиз
LoRa Messenger 8кмге чейинки аралыкта эки түзмөк үчүн: 7 кадам
LoRa Messenger 8 кмге чейинки аралыкта эки түзмөк үчүн: Долбоорду ноутбукка же телефонуңузга туташтырыңыз, андан кийин LoRa аркылуу интернетсиз же SMSсиз түзмөктөрдүн ортосунда баарлашыңыз. Akarsh бул жерде CETech.Today биз смартфонуңузга же каалаган нерсеңизге туташтырыла турган долбоорду түзмөкчүбүз