Cov txheej txheem:
- Khoom siv
- Kauj ruam 1: Tsev qiv ntawv
- Kauj ruam 2: Pinout
- Kauj ruam 3: AUX Pin
- Kauj Ruam 4: Txuas nrog Schema Esp8266
- Kauj Ruam 5: Txuas Txuas Schema Arduino
- Kauj Ruam 6: Lub Tsev Qiv Ntawv: Tus Tsim
- Kauj ruam 7: Pib
- Kauj Ruam 8: Txheej Txheem thiab Cov Lus Qhia
- Kauj Ruam 9: Lub Thawv Teb
- Kauj Ruam 10: Kev Xaiv Kho Kom Yooj Yim
- Kauj Ruam 11: Xa Txais Xov Xwm
- Kauj Ruam 12: Hom Kev Xa Mus Li Cas
- Kauj Ruam 13: Tswj Tus Qauv
- Kauj Ruam 14: Txhim Kho Hom Hloov Hom Ib Yam
- Kauj ruam 15: Ua tsaug
Video: LoRa 3Km txog 8Km Wireless Kev Sib Txuas Nrog Tus Nqi E32 (sx1278/sx1276) Ntaus rau Arduino, Esp8266 lossis Esp32: 15 Cov Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:25
Kuv tsim lub tsev qiv ntawv los tswj EBYTE E32 raws li Semtech series ntawm LoRa ntaus ntawv, muaj zog heev, siv tau yooj yim thiab pheej yig ntaus ntawv.
Koj tuaj yeem pom 3Km version ntawm no, 8Km version ntawm no
Lawv tuaj yeem ua haujlwm nyob deb li ntawm 3000m txog 8000m, thiab lawv muaj ntau yam ntxwv thiab ntsuas. Yog li kuv tsim lub tsev qiv ntawv no kom yooj yim siv.
Nws yog kev daws teeb meem kom rov qab tau cov ntaub ntawv los ntawm lub nroog loj lossis los tswj drone.
Khoom siv
Arduino UAS
Wemos D1 mini
LoRa E32 TTL 100 3Km version
LoRa E32 TTL 1W 8Km version
Kauj ruam 1: Tsev qiv ntawv
Koj tuaj yeem nrhiav kuv lub tsev qiv ntawv ntawm no.
Txhawm rau rub tawm.
Nyem rau DOWNLOADS khawm nyob rau hauv kaum sab xis saum toj, hloov pauv lub nplaub tshev LoRa_E32.
Txheeb xyuas tias LoRa_E32 nplaub tshev muaj LoRa_E32.cpp thiab LoRa_E32.h.
Muab LoRa_E32 lub tsev qiv ntawv tais ceev tseg koj / tsev qiv ntawv / nplaub tshev. Koj yuav xav tsim lub tsev qiv ntawv subfolder yog nws yog koj thawj lub tsev qiv ntawv.
Rov pib dua IDE.
Kauj ruam 2: Pinout
Raws li koj tuaj yeem pom koj tuaj yeem teeb tsa ntau hom ntawm M0 thiab M1 pins.
Muaj qee tus pin uas tuaj yeem siv tau zoo li qub, tab sis yog tias koj txuas Nws rau lub microcontroller thiab teeb tsa lawv hauv lub tsev qiv ntawv koj tau txais txiaj ntsig zoo thiab koj tuaj yeem tswj txhua hom ntawm software, tab sis peb yuav piav qhia zoo dua tom ntej.
Kauj ruam 3: AUX Pin
Raws li kuv twb tau hais lawm Nws tsis yog ib qho tseem ceeb los txuas txhua tus pin rau qhov tsim tawm ntawm microcontroller, koj tuaj yeem tso M0 thiab M1 pins rau HIGH lossis LOW kom tau txais kev teeb tsa kev teeb tsa, thiab yog tias koj tsis txuas AUX lub tsev qiv ntawv teeb tsa qhov tsim nyog ncua kom ntseeg tau tias kev ua haujlwm tiav.
AUX pin
Thaum xa cov ntaub ntawv tuaj yeem siv los tsa MCU sab nraud thiab rov ua siab dua ntawm cov ntaub ntawv xa mus tiav.
Thaum tau txais AUX mus LOW thiab rov ua siab dua thaum tsis muaj qhov khoob.
Nws kuj tseem siv rau kev tshuaj xyuas tus kheej kom rov ua haujlwm ib txwm muaj (ntawm lub zog-rau thiab pw/hom phiaj haujlwm).
Kauj Ruam 4: Txuas nrog Schema Esp8266
esp8266 kev sib txuas cov phiaj xwm tau yooj yim dua vim tias nws ua haujlwm ntawm tib qhov hluav taws xob ntawm kev sib txuas lus zoo (3.3v).
Nws yog qhov tseem ceeb ntxiv rau rub tawm tus tiv thaiv (4, 7Kohm) kom tau txais kev ruaj ntseg zoo.
Kauj Ruam 5: Txuas Txuas Schema Arduino
Arduino ua haujlwm voltage yog 5v, yog li peb xav tau ntxiv qhov faib hluav taws xob ntawm RX tus pin M0 thiab M1 ntawm LoRa module los tiv thaiv kev puas tsuaj, koj tuaj yeem tau txais cov ntaub ntawv ntau ntxiv ntawm no Voltage divider: lub laij lej thiab daim ntawv thov.
Koj tuaj yeem siv 2Kohm resistor rau GND thiab 1Kohm los ntawm teeb liab dua li muab tso ua ke ntawm RX.
Kauj Ruam 6: Lub Tsev Qiv Ntawv: Tus Tsim
Kuv tau teeb tsa cov neeg tsim khoom ntau heev, vim tias peb tuaj yeem muaj ntau txoj kev xaiv thiab xwm txheej los tswj.
LoRa_E32 (byte rxPin, byte txPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (byte rxPin, byte txPin, byte auxPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600); LoRa_E32 (byte rxPin, byte txPin, byte auxPin, byte m0Pin, byte m1Pin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
Thawj txheej ntawm cov neeg tsim khoom yog tsim los rau sawv cev rau kev tswj hwm ntawm Serial thiab lwm yam pins rau lub tsev qiv ntawv.
rxPin thiab txPin yog tus pin txuas rau UART thiab lawv yuav tsum tau ua.
auxPin yog tus pin uas txheeb xyuas kev ua haujlwm, kis thiab tau txais cov xwm txheej (peb yuav piav qhia zoo dua tom ntej), tus pin Nws tsis tas yuav tsum tau, yog tias koj tsis teeb tsa Kuv thov ncua sijhawm kom tso cai ua haujlwm kom tiav nws tus kheej (nrog latency).
m0pin thiab m1Pin yog tus pin los hloov kev ua haujlwm (saib cov lus saum toj), Kuv xav tias cov pins no hauv "kev tsim khoom" yuav txuas ncaj qha HIGH lossis LOW, tab sis rau kev sim lawv tau siv los tswj los ntawm lub tsev qiv ntawv.
bpsRate yog boudrate ntawm SoftwareSerial ib txwm yog 9600 (tsuas yog baud tus nqi hauv programmin/pw tsaug zog hom)
Piv txwv yooj yim yog
#include "LoRa_E32.h" LoRa_E32 e32ttl100 (2, 3); // RX, TX // LoRa_E32 e32ttl100 (2, 3, 5, 6, 7); // RX, TX
Peb tuaj yeem siv ncaj qha SoftwareSerial nrog lwm tus tsim
LoRa_E32 (HardwareSerial* serial, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (HardwareSerial* serial, byte auxPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (HardwareSerial* serial, byte auxPin, byte m0Pin, byte m1Pin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
Qhov piv txwv sab saud nrog tus neeg tsim khoom no tuaj yeem ua tau zoo li ntawd.
#include #include "LoRa_E32.h"
SoftwareSerial mySerial (2, 3); // RX, TX
LoRa_E32 e32ttl100 (& mySerial);
// LoRa_E32 e32ttl100 (& mySerial, 5, 7, 6);
Cov txheej txheem kawg ntawm tus tsim khoom yog tso cai siv HardwareSerial tsis yog SoftwareSerial.
LoRa_E32 (SoftwareSerial* serial, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (SoftwareSerial* serial, byte auxPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (SoftwareSerial* serial, byte auxPin, byte m0Pin, byte m1Pin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
Kauj ruam 7: Pib
Qhov pib hais kom ua yog siv los pib Serial thiab pins hauv kev tawm tswv yim thiab tso tawm hom.
void pib ();
hauv kev ua yog
// Pib txhua tus pin thiab UART
e32ttl100.begin ();
Kauj Ruam 8: Txheej Txheem thiab Cov Lus Qhia
Muaj txheej txheem txheej txheem rau kev tswj teeb tsa thiab tau txais cov ntaub ntawv ntawm lub cuab yeej.
ResponseStructContainer getConfiguration ();
ResponseStatus setConfiguration (Configuration configuration, PROGRAM_COMMAND saveType = WRITE_CFG_PWR_DWN_LOSE);
ResponseStructContainer getModuleInformation ();
void printParameters (struct Configuration configuration);
ResponseStatus resetModule ();
Kauj Ruam 9: Lub Thawv Teb
Txhawm rau ua kom yooj yim rau kev tswj cov lus teb Kuv tsim cov thawv, rau kuv siv tau zoo los tswj kev ua yuam kev thiab xa cov ntaub ntawv qub.
Cov lus teb
Nov yog lub thawv ntim xwm txheej thiab muaj 2 lub ntsiab lus nkag yooj yim, nrog rau qhov no koj tuaj yeem tau txais cov cai xwm txheej thiab cov lus piav qhia ntawm cov cai xwm txheej
Serial.println (c.getResponseDescription ()); // Kev piav qhia ntawm txoj cai
Serial.println (c.code); // 1 yog Ua Tau Zoo
Cov cai yog
TSEEM CEEB = 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
Cov Lus Teb
Lub thawv no tau tsim los tswj txoj hlua lus thiab muaj 2 qhov nkag mus.
cov ntaub ntawv nrog txoj hlua rov qab los ntawm cov lus thiab xwm txheej piv txwv ntawm RepsonseStatus.
ResponseContainer rs = e32ttl.receiveMessage ();
Txoj hlua lus = rs.data;
Serial.println (rs.status.getResponseDescription ());
Serial.println (lus);
Cov Lus Teb
Qhov no yog cov thawv "nyuaj" ntau dua, Kuv siv qhov no los tswj cov qauv, Nws muaj tib qhov nkag ntawm ResponseContainer tab sis cov ntaub ntawv yog qhov tsis muaj qhov taw qhia los tswj cov qauv nyuaj.
ResponseStructContainer c;
c = e32ttl100.getConfiguration (); // Nws yog ib qho tseem ceeb tau teeb tsa tus taw tes ua ntej txhua lwm txoj haujlwm
Configuration configuration = *(Configuration *) c.data;
Serial.println (c.status.getResponseDescription ());
Serial.println (c.status.code);
getConfiguration thiab setConfiguration
Thawj txoj hauv kev yog getConfiguration, koj tuaj yeem siv Nws los khaws tag nrho cov ntaub ntawv khaws cia ntawm lub cuab yeej.
ResponseStructContainer getConfiguration ();
Nov yog qhov piv txwv siv.
ResponseStructContainer c;
c = e32ttl100.getConfiguration (); // Nws yog ib qho tseem ceeb tau teeb tsa tus taw tes ua ntej txhua lwm txoj haujlwm
Configuration configuration = *(Configuration *) c.data;
Serial.println (c.status.getResponseDescription ());
Serial.println (c.status.code);
Serial.println (configuration. SPED.getUARTBaudRate ());
Cov qauv ntawm kev teeb tsa muaj txhua cov ntaub ntawv ntawm kev teeb tsa, thiab kuv ntxiv cov haujlwm ua kom tau txais txhua qhov kev piav qhia ntawm cov ntaub ntawv ib leeg.
configuration. ADDL = 0x0; // Thawj ntu ntawm addressconfiguration. ADDH = 0x1; // Qhov thib ob ntawm qhov chaw teeb tsa. CHAN = 0x19; // Channel configuration. OPTION.fec = FEC_0_OFF; // Forward yuam kev kho hloov hloov configuration. OPTION.fixedTransmission = FT_TRANSPARENT_TRANSMISSION; // Kis hom kev teeb tsa. OPTION.ioDriveMode = IO_D_MODE_PUSH_PULLS_PULL_UPS; // Rub tawm kev tswj hwm teeb tsa. OPTION.transmissionPower = POWER_17; // dBm kis lub zog teeb tsa. OPTION.wirelessWakeupTime = WAKE_UP_1250; // Tos lub sijhawm kom sawv los teeb tsa. SPED.airDataRate = AIR_DATA_RATE_011_48; // Huab cua cov ntaub ntawv tus nqi teeb tsa. SPED.uartBaudRate = UART_BPS_115200; // Kev sib txuas lus baud tus nqi teeb tsa. SPED.uartParity = MODE_00_8N1; // Parity ntsis
Koj muaj qhov ua haujlwm sib npaug rau txhua tus cwj pwm kom tau txais txhua qhov kev piav qhia:
Serial.print (F ("Chan:")); Serial.print (teeb tsa. CHAN, DEC); Serial.print (" ->"); Serial.println (configuration.getChannelDescription ()); Serial.println (F ("")); Serial.print (F ("SpeedParityBit:")); Serial.print (teeb tsa. SPED.uartParity, BIN); Serial.print (" ->"); Serial.println (configuration. SPED.getUARTParityDescription ()); Serial.print (F ("SpeedUARTDatte:")); Serial.print (teeb tsa. SPED.uartBaudRate, BIN); Serial.print (" ->"); Serial.println (configuration. SPED.getUARTBaudRate ()); Serial.print (F ("SpeedAirDataRate:")); Serial.print (teeb tsa. SPED.airDataRate, BIN); Serial.print (" ->"); Serial.println (configuration. SPED.getAirDataRate ()); Serial.print (F ("OptionTrans:")); Serial.print (configuration. OPTION.fixedTransmission, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getFixedTransmissionDescription ()); Serial.print (F ("OptionPullup:")); Serial.print (teeb tsa. OPTION.ioDriveMode, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getIODroveModeDescription ()); Serial.print (F ("OptionWakeup:")); Serial.print (teeb tsa. OPTION.wirelessWakeupTime, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getWirelessWakeUPTimeDescription ()); Serial.print (F ("OptionFEC:")); Serial.print (teeb tsa. OPTION.fec, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getFECDescription ()); Serial.print (F ("OptionPower:")); Serial.print (teeb tsa. OPTION.transmissionPower, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getTransmissionPowerDescription ());
Nyob rau tib txoj kev setConfiguration xav tau kev teeb tsa strucutre, yog li kuv xav tias txoj hauv kev zoo dua los tswj kev teeb tsa yog khaws cov tam sim no, siv qhov kev hloov pauv uas koj xav tau thiab teeb nws dua.
ResponseStatus setConfiguration (Configuration configuration, PROGRAM_COMMAND saveType = WRITE_CFG_PWR_DWN_LOSE);
kev teeb tsa yog strucutre previsiouly show, saveType tso cai rau koj xaiv yog tias qhov kev hloov pauv mus tas li tsuas yog rau ntu tam sim no.
ResponseStructContainer c; c = e32ttl100.getConfiguration (); // Nws yog ib qho tseem ceeb tau teeb tsa tus taw tes ua ntej txhua lwm txoj haujlwm Kev teeb tsa teeb tsa = *(Kho *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (teeb tsa); configuration. ADDL = 0x0; configuration. ADDH = 0x1; configuration. CHAN = 0x19; configuration. OPTION.fec = FEC_0_OFF; configuration. OPTION.fixedTransmission = FT_TRANSPARENT_TRANSMISSION; configuration. OPTION.ioDriveMode = IO_D_MODE_PUSH_PULLS_PULL_UPS; configuration. OPTION.transmissionPower = POWER_17; configuration. 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; // Teeb teeb tsa hloov pauv thiab teeb tsa kom tsis tuav lub teeb tsa ResponseStatus rs = e32ttl100.setConfiguration (teeb tsa, WRITE_CFG_PWR_DWN_LOSE); Serial.println (rs.getResponseDescription ()); Serial.println (rs.code); printParameters (teeb tsa);
Qhov ntsuas tau txhua tus tswj hwm tas li:
Kauj Ruam 10: Kev Xaiv Kho Kom Yooj Yim
Kauj Ruam 11: Xa Txais Xov Xwm
Ua ntej peb yuav tsum qhia qhov yooj yim tab sis siv txoj hauv kev los tshuaj xyuas yog tias qee yam nyob hauv qhov tsis tau txais
int muaj ();
Nws tsuas yog rov qab pes tsawg bytes uas koj muaj hauv cov kwj dej tam sim no.
Kauj Ruam 12: Hom Kev Xa Mus Li Cas
Ib txwm/Pob tshab hom kev siv yog siv los xa lus rau txhua lub cuab yeej nrog tib qhov chaw nyob thiab channel.
Muaj ntau txoj hauv kev xa/txais xov, peb yuav piav qhia ntxaws:
ResponseStatus sendMessage (const String message);
ResponseContainer receiveMessage ();
Thawj txoj hauv kev yog sendMessage thiab siv los xa Txoj hlua rau lub cuab yeej hauv Hom Ib txwm.
ResponseStatus rs = e32ttl.sendMessage ("Prova"); Serial.println (rs.getResponseDescription ());
Lwm yam cuab yeej yooj yim ua ntawm lub voj
yog (e32ttl.available ()> 1) {ResponseContainer rs = e32ttl.receiveMessage (); Txoj hlua lus = rs.data; // Thawj zaug tau txais cov ntaub ntawv Serial.println (rs.status.getResponseDescription ()); Serial.println (lus); }
Kauj Ruam 13: Tswj Tus Qauv
Yog tias koj xav xa ib txoj haujlwm nyuaj koj tuaj yeem siv txoj hauv kev no
ResponseStatus sendMessage (const void *message, const uint8_t loj); ResponseStructContainer txaisMessage (const uint8_t loj);
Nws tau siv los xa strucutre, piv txwv li:
struct Messaggione {char yam [5]; ntawv xov xwm [8]; pob mitico; }; struct Messaggione messaggione = {"TEMP", "Peple", muaj tseeb}; ResponseStatus rs = e32ttl.sendMessage (& messaggione, sizeof (Messaggione)); Serial.println (rs.getResponseDescription ());
thiab lwm sab koj tuaj yeem tau txais cov lus yog li
ResponseStructContainer rsc = e32ttl.receiveMessage (sizeof (Messaggione)); struct Messaggione messaggione = *(Messaggione *) rsc.data; Serial.println (messaggione.message); Serial.println (messaggione.mitico);
Nyeem ib nrab strucure
Yog tias koj xav nyeem thawj feem ntawm cov lus los tswj ntau hom strucutre koj tuaj yeem siv txoj hauv kev no.
ResponseContainer receiveInitialMessage (const uint8_t loj);
Kuv tsim Nws kom tau txais txoj hlua nrog hom lossis lwm yam los txheeb xyuas lub strucuture kom thauj khoom.
struct Messaggione {// Ib nrab strucutre tsis muaj typechar message [8]; pob mitico; }; hom ntawv [5]; // thawj feem ntawm tus qauv ResponseContainer rs = e32ttl.receiveInitialMessage (sizeof (yam)); // Muab txoj hlua tso rau hauv kab ntawv char (tsis xav tau) memcpy (hom, rs.data.c_str (), qhov loj me (hom)); Serial.println ("NYEEM TYPE:"); Serial.println (rs.status.getResponseDescription ()); Serial.println (hom); // Nyeem seem ntawm tus qauv ResponseStructContainer rsc = e32ttl.receiveMessage (sizeof (Messaggione)); struct Messaggione messaggione = *(Messaggione *) rsc.data;
Kauj Ruam 14: Txhim Kho Hom Hloov Hom Ib Yam
Ib yam nkaus kuv tsim cov txheej txheem los siv nrog kev xa mus tas li
Tsau kis tau tus mob
Koj yuav tsum hloov pauv txoj hauv kev xa mus xwb, vim tias lub cuab yeej siv lub hom phiaj tsis tau txais cov lus hais ua ntej nrog Chaw Nyob thiab Channel quando settato il tsau hom.
Yog li rau Txoj hlua xov koj muaj
ResponseStatus sendFixedMessage (byte ADDL, byte ADDH, byte CHAN, const String message); ResponseStatus sendBroadcastFixedMessage (byte CHAN, const String message);
thiab rau cov qauv koj muaj
Teb cov lus tebFixedMessage (byte ADDL, byte ADDH, byte CHAN, const void *message, const uint8_t loj); ResponseStatus sendBroadcastFixedMessage (byte CHAN, const void *message, const uint8_t size);
Nov yog qhov piv txwv yooj yim
ResponseStatus rs = e32ttl.sendFixedMessage (0, 0, 0x17, & messaggione, sizeof (Messaggione)); // ResponseStatus rs = e32ttl.sendFixedMessage (0, 0, 0x17, "Ciao");
Kev xa mus tas li muaj ntau qhov xwm txheej
Yog tias koj xa mus rau lub cuab yeej tshwj xeeb (qhov xwm txheej thib ob Hloov kho tas li) koj yuav tsum ntxiv ADDL, ADDH thiab CHAN txhawm rau txheeb xyuas Nws ncaj qha.
ResponseStatus rs = e32ttl.sendFixedMessage (2, 2, 0x17, "Xov rau ib lub cuab yeej");
Yog tias koj xav tau xa xov mus rau txhua lub cuab yeej hauv cov channel tshwj xeeb koj tuaj yeem siv txoj hauv kev no.
ResponseStatus rs = e32ttl.sendBroadcastFixedMessage (0x17, "Xov rau cov khoom siv ntawm channel");
Yog tias koj xav tau txais tag nrho cov lus tshaj tawm hauv lub network koj yuav tsum teeb tsa koj li ADDH thiab ADDL nrog BROADCAST_ADDRESS.
ResponseStructContainer c; c = e32ttl100.getConfiguration (); // Nws yog ib qho tseem ceeb tau teeb tsa tus taw tes ua ntej txhua lwm txoj haujlwm Kev teeb tsa teeb tsa = *(Kho *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (teeb tsa); configuration. ADDL = BROADCAST_ADDRESS; configuration. ADDH = BROADCAST_ADDRESS; // Teeb teeb tsa hloov pauv thiab teeb tsa kom tsis tuav lub teeb tsa ResponseStatus rs = e32ttl100.setConfiguration (teeb tsa, WRITE_CFG_PWR_DWN_LOSE); Serial.println (rs.getResponseDescription ()); Serial.println (rs.code); printParameters (teeb tsa);
Kauj ruam 15: Ua tsaug
Tam sim no koj muaj tag nrho cov ntaub ntawv los ua koj txoj haujlwm, tab sis kuv xav tias nws yog qhov tseem ceeb los qhia qee qhov piv txwv tiag tiag kom tsis pom qhov zoo dua txhua qhov ua tau.
- LoRa E32 ntaus ntawv rau Arduino, esp32 lossis esp8266: teeb tsa thiab siv yooj yim
- LoRa E32 ntaus ntawv rau Arduino, esp32 lossis esp8266: tsev qiv ntawv
- LoRa E32 ntaus ntawv rau Arduino, esp32 lossis esp8266: teeb tsa
- LoRa E32 ntaus ntawv rau Arduino, esp32 lossis esp8266: kev kho tas li
- LoRa E32 ntaus ntawv rau Arduino, esp32 lossis esp8266: txuag hluav taws xob thiab xa cov ntaub ntawv teeb tsa
Pom zoo:
Pandemi: Tus Nqi Tus Nqi Tus Nqi Tus Kab Mob Qis Tsawg Tus Nqi: 7 Kauj Ruam
Pandemi: Tus Nqi Tus Nqi Tus Nqi Tus Kab Mob Qis Tsawg Tus Nqi: Qhov no yog qhov pheej yig, yooj yim los ua neeg hlau. Nws tuaj yeem ua kom tsis muaj menyuam hauv koj chav nrog UV-C lub teeb, nws yog lub teeb thiab nrawm, nws tuaj yeem mus rau txhua qhov av, thiab nws tuaj yeem haum rau txhua lub qhov rooj. Nws tseem yog tib neeg-nyab xeeb, thiab muaj kev ywj pheej tag nrho
MOLBED - Tus Nqi Tus Nqi Tus Nqi Braille Hauv Zis: 5 Cov Kauj Ruam (nrog Duab)
MOLBED - Modular Low Cost Braille Electronic Display: Nqe lus piav qhia Lub hom phiaj ntawm txoj haujlwm no yog txhawm rau tsim cov tshuab Braille hluav taws xob uas muaj nqis thiab tuaj yeem ua cov thev naus laus zis no rau txhua tus. Tom qab kev tshuaj xyuas thawj zaug, nws tau pom meej tias yog li tsim tus yam ntxwv ntawm tus kheej h
ARUPI - Tus Nqi Tus Nqi Tus Nqi Uas Tau Txais Tus Nqi Uas Tau Txais Tus Nqi/Tus Kheej Tus Kheej (ARU) rau Soundscape Ecologists: 8 Kauj Ruam (nrog Duab)
ARUPI - Tus Nqi Tus Nqi Uas Tau Txais Tus Nqi Tus Nqi Uas Tau Txais Tus Nqi/Tus Kheej Tus Kheej (ARU) rau Soundscape Ecologists: Cov lus qhia no tau sau los ntawm Anthony Turner. Txoj haujlwm tau tsim los nrog ntau qhov kev pab los ntawm Shed hauv Tsev Kawm Ntawv ntawm Kev Suav, University of Kent (Mr Daniel Knox tau pab zoo!)
Tus Nqi Tus Nqi Tus Nqi Qis Tus Nqi Qis Tsawg: 15 Kauj Ruam (nrog Duab)
Tsawg-tus nqi Spherical Speaker Array: Cov cuab yeej ua suab nrov ua suab nrov hauv qhov xav tsis thoob, 360 degree zam, thaum lub suab nrov nrov nrov ua rau ntau qhov tsis txaus ntseeg, tsom teeb ntawm lub suab. Koj tuaj yeem siv nyiaj ib tuj ntawm cov khoom zoo nkauj: Hemisphere los ntawm Electrotap Experim
Txuas tus Ipod lossis Lwm Tus Neeg Siv Mp3 rau Cov Hais Lus Hauv Tsev Ib Yam Tsis Muaj Tus Nqi kim thiab Bulky Amplifier!: 4 Cov Kauj Ruam
Txuas tus Ipod lossis Lwm Tus Neeg Siv Mp3 rau Cov Hais Lus Hauv Tsev Ib Yam Tsis Muaj Tus Nqi kim thiab Bulky Amplifier!: Koj puas muaj cov hais lus tso suab ntxiv, uas yog tuaj nrog cheep stereos uas tawg lossis koj tsuas yog muaj yam tsis muaj laj thawj? Hauv Cov Lus Qhia Kuv yuav qhia koj yuav ua li cas koj tuaj yeem txuas lawv rau txhua tus neeg siv Mp3 lossis ib lub cuab yeej twg nrog lub suab nrov