Мазмуну:

[Docker Pi сериясы] Raspberry Piде IoT Node (A) модулун кантип колдонуу керек: 18 кадам
[Docker Pi сериясы] Raspberry Piде IoT Node (A) модулун кантип колдонуу керек: 18 кадам

Video: [Docker Pi сериясы] Raspberry Piде IoT Node (A) модулун кантип колдонуу керек: 18 кадам

Video: [Docker Pi сериясы] Raspberry Piде IoT Node (A) модулун кантип колдонуу керек: 18 кадам
Video: ДОРОГА СКОРОСТИ НА ГРАВИТРОНЕ! БРАВЛ СТАРС В МАЙНКРАФТ #93 2024, Ноябрь
Anonim
[Docker Pi сериясы] Raspberry Piде IoT Node (A) модулун кантип колдонуу керек
[Docker Pi сериясы] Raspberry Piде IoT Node (A) модулун кантип колдонуу керек

IoT Node (A) модулу деген эмне?

IoT Node (A) - Docker Pi сериясынын модулдарынын бири.

IOT түйүнү (A) = GPS/BDS + GSM + Lora.

I2C түздөн -түз Лораны көзөмөлдөйт, маалыматтарды жөнөтөт жана алат, GSM/GPS/BDS модулун SC16IS752 аркылуу көзөмөлдөйт, негизги плата I2C колдоосуна гана муктаж.

Raspberry Pi жана башка ушул сыяктуу өнүмдөрдү колдоо.

Жабдуулар

1x Raspberry Pi 2B/3B/3B+/4B/3A+/Zero/Zero W

1x Docker Pi сериясындагы продукт: IoT Node (A) модулу

1x 16 Гб класс 10 TF картасы

1x 5V/2.5A электр менен камсыздоо (5V@3A Pi 4B үчүн)

1 -кадам: Өзгөчөлүктөр

Өзгөчөлүктөр
Өзгөчөлүктөр
Өзгөчөлүктөр
Өзгөчөлүктөр
Өзгөчөлүктөр
Өзгөчөлүктөр
  • Docker Pi сериясы
  • Программалануучу
  • Түздөн -түз башкаруу (программасыз)
  • GPIO пиндерин кеңейтүү
  • GPS/BDS колдоо
  • GSM колдоо
  • Lora колдоо
  • Башка Stack тактасы менен Stack кыла алат
  • Негизги жабдыкка көз карандысыз (I2C колдоосун талап кылат)

2 -кадам: 1 -кадам: IoT (A) Board жөнүндө билиңиз

Step1: IoT (A) Board жөнүндө билиңиз
Step1: IoT (A) Board жөнүндө билиңиз
Step1: IoT (A) Board жөнүндө билиңиз
Step1: IoT (A) Board жөнүндө билиңиз
Step1: IoT (A) Board жөнүндө билиңиз
Step1: IoT (A) Board жөнүндө билиңиз

IoT Node (A) - Docker Pi сериясынын модулдарынын бири.

IOT түйүнү (A) = GPS/BDS + GSM + Lora.

I2C түздөн -түз Лораны көзөмөлдөйт, маалыматтарды жөнөтөт жана алат, GSM/GPS/BDS модулун SC16IS752 аркылуу көзөмөлдөйт, платага I2C колдоосу гана керек.

Ошентип, алардын экөөнү колдонуу менен орто диапазондогу байланыш түзүмүн жасай аласыз.

жана ошондой эле борттогу GPS модулун колдонуу менен түзмөгүңүздүн жайгашкан жерин таба аласыз.

SIM картаны салыңыз, ал SMS билдирүү аркылуу өткөргүч станцияга айланат.

3 -кадам: 2 -кадам: Аны кантип чогултуу керек

2 -кадам: Аны кантип чогултуу керек
2 -кадам: Аны кантип чогултуу керек
2 -кадам: Аны кантип чогултуу керек
2 -кадам: Аны кантип чогултуу керек

Аны "HAT" конструкциясынан улам чогултуу абдан оңой, сиз аны малина пиңизге коюп, GPIO казыктары аркылуу туташтырасыз, ал малинанын пи "шляпасына" окшош, ошондуктан массаны кошуунун кажети жок. зым

4 -кадам: 3 -кадам: Антеннаны туташтыруу

3 -кадам: Антеннаны туташтыруу
3 -кадам: Антеннаны туташтыруу
3 -кадам: Антеннаны туташтыруу
3 -кадам: Антеннаны туташтыруу
3 -кадам: Антеннаны туташтыруу
3 -кадам: Антеннаны туташтыруу

Бул IoT (A) модулу үчүн 3 даана антенна бар, алардын бири loar модулуна, ал SMA тибиндеги антенна, жана алардын бири сизге GPS үчүн жакшы, бул IPX порту бар төрт бурчтуу антенна. жана акыркысы SIM модулу үчүн (A9G), Бул IPX порту бар кичинекей антенна. антеннаны туташтырып, шляпаны малина пиңизге орнотуңуз.

Iot Node (A) тактасын Raspberry Piге кантип чогултуу керек

Hookup GPS антана жана Лора антана IPX портуна.

  • E1: GPS-ANTANA-IPX
  • E3: LoRa-ANTANA-IPX

SMA портуна GPRS антана бурап.

5 -кадам: 4 -кадам: OS чөйрөсү жана программалык камсыздоонун конфигурациялары

Бул кадамда сиз төмөнкү нерселерди жасашыңыз керек:

1. Акыркы сүрөт файлын төмөнкү сайттан түшүрүңүз: www.raspberrypi.org/downloads

2. Буну ачыңыз.

3. TF картаңызды etcher куралы аркылуу акыркы сүрөтү менен жаркылдатыңыз

4. /boot/config.txt файлын өзгөртүү жана бул абзацты кошуу.

dtoverlay = sc16is752-i2c

5. /boot/overlay/sc16is752-i2c.dtbo файлын бул файл менен алмаштырат:

wiki.52pi.com/index.php/File:Sc16is752-i2c…

PS: эсиңизден чыгарбаңыз,/boot/overlay/папкаңызга салып, эскисин алмаштырыңыз.

6. Raspberry Pi'ни кайра жүктөңүз.

6 -кадам: 5 -кадам: I2Cди конфигурациялоо (Raspberry Pi)

5 -кадам: I2Cди конфигурациялоо (Raspberry Pi)
5 -кадам: I2Cди конфигурациялоо (Raspberry Pi)
5 -кадам: I2Cди конфигурациялоо (Raspberry Pi)
5 -кадам: I2Cди конфигурациялоо (Raspberry Pi)
5 -кадам: I2Cди конфигурациялоо (Raspberry Pi)
5 -кадам: I2Cди конфигурациялоо (Raspberry Pi)
5 -кадам: I2Cди конфигурациялоо (Raspberry Pi)
5 -кадам: I2Cди конфигурациялоо (Raspberry Pi)

Sudo raspi-config иштетүү жана ARM өзөгү жана Linux ядро үчүн i2c колдоосун орнотуу үчүн көрсөтмөлөрдү аткарыңыз Interfacing Options

7 -кадам: 6 -кадам: Реестр маалыматы жөнүндө билиңиз

GPRS бөлүмү

Төмөн энергия керектөө, күтүү режиминдеги уктоо <1mA2.

Колдоо GSM/GPRS төрт жыштык диапазону, анын ичинде 850, 900, 1800, 1900MHZ

GPRS 10 -класс

GPRS маалымат кызматын колдоо, максималдуу маалымат ылдамдыгы, жүктөө 85.6Kbps, жүктөө 42.8Kbps

Стандарттык GSM07.07, 07.05 AT буйруктарын колдоп, сериялык портко I2C интерфейси аркылуу кирүү

AT буйруктары стандарттык AT жана TCP/IP буйрук портторун колдойт

GPS бөлүмү BDS/GPS биргелешкен жайгашууну колдоо

A-GPS, A-BDS колдоо

Стандарттык SIM картаны колдоо

LORA бөлүмү Трансмиссия аралык: 500 Метр (RF параметрлери: 0x50 @ China City)

FSK, GFSK, MSK, GMSK, LoRaTM жана OOK модуляция ыкмаларын колдоо

Ultra -жогорку алуучунун сезгичтиги -141 дБмге чейин

Преамбуланы аныктоону колдоо

CRC менен пакеттик кыймылдаткыч, 256 байтка чейин

LORA transceiver көрсөткүчү

Easy TX/RX Docker Pi тарабынан

8 -кадам:

A9G модулу

A9G модулу эки сериялык портту сунуштайт.

Байланыш үчүн I2C UART көпүрөсүн колдонуңуз.

Сериялык порт модулунун аталышы

  • /dev/ttySC0 GSM
  • /dev/ttySC1 GPS/BDS

Картаны каттоо

  • Каттоо дареги Функциянын мааниси
  • 0x01 LORA_TX1 Lora TX Буфери 1 - Колдонуучунун маалыматы
  • 0x02 LORA_TX2 Lora TX Buffer 2 - Колдонуучунун маалыматы
  • 0x03 LORA_TX3 Lora TX Buffer 3 - Колдонуучунун маалыматы
  • 0x04 LORA_TX4 Lora TX Buffer 4 - Колдонуучунун маалыматы
  • 0x05 LORA_TX5 Lora TX Buffer 5 - Колдонуучунун маалыматы
  • 0x06 LORA_TX6 Lora TX Buffer 6 - Колдонуучунун маалыматы
  • 0x07 LORA_TX7 Lora TX Buffer 7 - Колдонуучунун маалыматы
  • 0x08 LORA_TX8 Lora TX Buffer 8 - Колдонуучунун маалыматы
  • 0x09 LORA_TX9 Lora TX Buffer 9 - Колдонуучунун маалыматы
  • 0x0a LORA_TX10 Lora TX Buffer 10 - Колдонуучунун маалыматы
  • 0x0b LORA_TX11 Lora TX Buffer 11 - Колдонуучунун маалыматы
  • 0x0c LORA_TX12 Lora TX Buffer 12 - Колдонуучунун маалыматы
  • 0x0d LORA_TX13 Lora TX Buffer 13 - Колдонуучунун маалыматы
  • 0x0e LORA_TX14 Lora TX Buffer 14 - Колдонуучунун маалыматы
  • 0x0f LORA_TX15 Lora TX Buffer 15 - Колдонуучунун маалыматы
  • 0x10 LORA_TX16 Lora TX Buffer 16 - Колдонуучунун маалыматы
  • 0x11 LORA_RX1 Lora RX Буфери 1 - Колдонуучунун маалыматы
  • 0x12 LORA_RX2 Lora RX Буфер 2 - Колдонуучунун маалыматы
  • 0x13 LORA_RX3 Lora RX Буфери 3 - Колдонуучунун маалыматы
  • 0x14 LORA_RX4 Lora RX Буфери 4 - Колдонуучунун маалыматы
  • 0x15 LORA_RX5 Lora RX Буфери 5 - Колдонуучунун маалыматы
  • 0x16 LORA_RX6 Lora RX Буфери 6 - Колдонуучунун маалыматы
  • 0x17 LORA_RX7 Lora RX Буфери 7 - Колдонуучунун маалыматы
  • 0x18 LORA_RX8 Lora RX Buffer 8 - Колдонуучунун маалыматы
  • 0x19 LORA_RX9 Lora RX Buffer 9 - Колдонуучунун маалыматы
  • 0x1a LORA_RX10 Lora RX Буфери 10 - Колдонуучунун маалыматы
  • 0x1b LORA_RX11 Lora RX Buffer 11 - Колдонуучунун маалыматы
  • 0x1c LORA_RX12 Lora RX Буфери 12 - Колдонуучунун маалыматы
  • 0x1d LORA_RX13 Lora RX Buffer 13 - Колдонуучунун маалыматы
  • 0x1e LORA_RX14 Lora RX Buffer 14 - Колдонуучунун маалыматы
  • 0x1f LORA_RX15 Lora RX Buffer 15 - Колдонуучунун маалыматы
  • 0x20 LORA_RX16 Lora RX Буфери 16 - Колдонуучунун маалыматы
  • 0x01 - 0x10 Жазуу үчүн гана.
  • 0x11 - 0x20 Окуу үчүн гана.

9 -кадам: Нускамалар:

Нускамалар
Нускамалар

L_SET (Жазуу үчүн гана)

  • LORA модулуна 0x22ден параметрлерди коюу үчүн 1 деп жазыңыз.
  • 0 эффект эмес деп жазыңыз

G_RESET (Жазуу үчүн гана)

  • A9G модулун баштапкы абалга келтирүү үчүн 1 деп жазыңыз
  • 0 эффект эмес деп жазыңыз

L_RXNE (Окуу жана Жазуу)

  • 1 ката себебин жазыңыз
  • Тазалоо үчүн 0 деп жазыңыз
  • Окуу 1 маалымат алынганын билдирет, маалыматты 0x11 - 0x20 реестринен алыңыз.
  • 0 окуу азыр эч кандай маалымат жок дегенди билдирет.

L_SET (Жазуу үчүн гана)

  • Маалыматтарды жөнөтүү үчүн 1 жазыңыз, жөнөтүүдөн мурун 0x01 - 0x10 реестриндеги маалыматтарды толтуруңуз.
  • 0 эффект эмес деп жазыңыз

10 -кадам: GPS модулун Gpsd менен кантип колдонуу керек (Raspberry Pi)

GPS модулун Gpsd (Raspberry Pi) менен кантип колдонуу керек
GPS модулун Gpsd (Raspberry Pi) менен кантип колдонуу керек
GPS модулун Gpsd (Raspberry Pi) менен кантип колдонуу керек
GPS модулун Gpsd (Raspberry Pi) менен кантип колдонуу керек
GPS модулун Gpsd (Raspberry Pi) менен кантип колдонуу керек
GPS модулун Gpsd (Raspberry Pi) менен кантип колдонуу керек

GPS модулун gpsd (Raspberry Pi) менен кантип колдонуу керек

Биринчиден, /boot/overlays/sc16is752-i2c.dtbo алмаштырыңыз жана I2C туура иштеп жатканын текшериңиз.

  • Sc16is752-i2c.dtbo алмаштырыңыз
  • I2Cти конфигурациялоо
  • Gpsd куралдарын орнотуу.

Терминалды ачып, бул буйрукту териңиз:

Sudo apt gpsd gpsd-клиенттерди орнотот

/Etc/default/gpsd файлын өзгөртүү жана төмөнкү параметрлерди кошуу:

  • ТҮЗМӨКТӨР = "/dev/ttySC1"
  • GPSD_OPTIONS = "-F /var/run/gpsd.sock"

GPRS модулун баштапкы абалга келтирүү үчүн i2cset -y 1 0x16 0x23 0x40 буйругун киргизиңиз.

Ачык GPS үчүн Python Script:

importim serialimport os импорттоо убактысы # gpsd кызматын өчүрүп күйгүзүү. os.system ("sudo systemctl restart gpsd.socket") # Сериялык портту ачуу ser = serial. Serial ('/dev/ttySC0', 115200) i = 0 if ser.isOpen == False: ser.open () аракет кылыңыз: басып чыгаруу ("GPSти күйгүзүү …") True: ser.write (str.encode ("AT+GPS = 1 / r")) size = ser.inWaiting () if size! = 0: ticks = time.time () жооп = ser.read (өлчөм) gps = str (жооп, коддоо = "utf -8") if (gps.find ("OK")! = -1): os.system ("sudo cgps -s") exit () else: i = i + 1 print ("GPSти иштетүү күтүлүүдө, эгер убакыт өтө узун болсо, сыртта сынап көрүңүз:" + str (i)) ser.flushInput () time.sleep (1) KeyboardInterruptден башка: ser.flushInput () ser.close ()

Аны сактаңыз жана аткарыңыз:

python3 GPS.py

11 -кадам: GPS модулун C менен кантип колдонуу керек (Raspberry Pi)

Gpsd куралдарын орнотуу

sudo apt-get libgps-dev орнотуу

Булак кодун түзүңүз жана ага "gps.c" деп ат коюңуз

#кошуу #кошуу #кошуу

#кошуу

#кошуу

int main ()

{int rc; структуралык убакыт сыналгы; түзүлүш gps_data_t gps_data; if ((rc = gps_open ("localhost", "2947", & gps_data)) == -1) {printf ("код: %d, себеби: %s / n", rc, gps_errstr (rc)); кайтуу EXIT_FAILURE; } gps_stream (& gps_data, WATCH_ENABLE | WATCH_JSON, NULL);

учурда (1)

{ / * маалыматтарды алуу үчүн 2 секунд күтө туруңуз * / if (gps_waiting (& gps_data, 2000000)) { / * маалыматтарды окуу * / if ((rc = gps_read (& gps_data)) == -1) {printf ("окуу катасы пайда болду) GPS маалыматы. код: %d, себеби: %s / n ", rc, gps_errstr (rc)); } else { /* GPS кабылдагычтан маалыматтарды көрсөтүү. */ if ((gps_data.status == STATUS_FIX) && (gps_data.fix.mode == MODE_2D || gps_data.fix.mode == MODE_3D) &&! isnan (gps_data.fix.latitude) &&! isnan (gps_data.fix.longitude)) { /* gettimeofday (& tv, NULL); EDIT: tv.tv_sec чындыгында убакыт белгиси эмес! */

printf ("кеңдик: %f, узундук: %f, ылдамдык: %f, убакыт белгиси: %lf / n", gps_data.fix.latitude, gps_data.fix.longitude, gps_data.fix.speed, gps_data.fix.time);

// EDIT: tv.tv_sec gps_data.fix.time} менен алмаштырылды} else {printf ("GPS маалыматы жок / n"); }}} уйку (3); } / * Бүткөндөн кийин… * / gps_stream (& gps_data, WATCH_DISABLE, NULL); gps_close (& gps_data); кайтуу EXIT_SUCCESS; }

12 -кадам: Аны түзүңүз

Аны түзүңүз
Аны түзүңүз

Compile!

gcc gps.c -lm -lgps -o gps

Exec It!

./gps

13 -кадам: GPS модулун Python менен кантип колдонуу керек (Raspberry Pi)

Python менен GPS модулун кантип колдонуу керек (Raspberry Pi)
Python менен GPS модулун кантип колдонуу керек (Raspberry Pi)

Төмөнкү кодду Python 3 менен аткарып, gpsd-py3 китепканасын жана GPS 2D/3D Fixти орнотуу сунушталат:

gpsd импорттоо

# Жергиликтүү gpsd менен туташуу

gpsd.connect ()

# GPS позициясын алыңыз

пакет = gpsd.get_current ()

# Жеткиликтүү маалыматтар үчүн GpsResponse үчүн киргизилген документтерди караңыз

басып чыгаруу (packet.position ())

14 -кадам: GSM модулун PPPd менен кантип колдонуу керек (Raspberry Pi)

GSM модулун PPPd (Raspberry Pi) менен кантип колдонуу керек
GSM модулун PPPd (Raspberry Pi) менен кантип колдонуу керек
GSM модулун PPPd (Raspberry Pi) менен кантип колдонуу керек
GSM модулун PPPd (Raspberry Pi) менен кантип колдонуу керек
GSM модулун PPPd (Raspberry Pi) менен кантип колдонуу керек
GSM модулун PPPd (Raspberry Pi) менен кантип колдонуу керек

A) Биринчиден, /boot/overlays/sc16is752-i2c.dtbo алмаштыруу жана I2C туура иштеп жатканын текшерүү.

  • Sc16is752-i2c.dtbo алмаштырыңыз
  • I2Cти конфигурациялоо

B) GPRS модулун баштапкы абалга келтирүү үчүн i2cset -y 1 0x16 0x23 0x40 буйругун киргизиңиз.

Буйрукту иштеткенден кийин, бир аз күтүү керек, болжол менен 10 секунд

Сиз ошондой эле баштапкы абалга келтирүү үчүн төмөнкү ыкманы колдоно аласыз.

C) Команданы киргизиңиз

sudo apt install ppp

ppp куралдарын орнотуу үчүн.

D)/etc/ppp/peers/provider/etc/ppp/peers/gprsке көчүрүү

E)/etc/ppp/peers/gprs өзгөртүү

  • 10 -сап: Сураныч, колдонуучу үчүн кызмат көрсөтүүчүңүзгө кайрылыңыз (Мисалы: cmnet).
  • 15 -сап: Сураныч, тейлөөчүңүзгө кайрылыңыз apn (Мисалы: cmnet).
  • 18 -сап - 24 -сап: Сунушталган жөндөө

F)/etc/chatscripts/gprs өзгөртүү (34 -сапты 35 -сапка өзгөртүү, Dialout Номери ЭМЕС *99#болушу мүмкүн)

G) Терүү үчүн suprpppd gprs командасын киргизиңиз.

H) Интернет провайдериңизден ppp конфигурацияңызды текшериңиз.

I) ping буйругун киргизиңиз -I ppp0 8.8.8.8 тармагыңызды текшериңиз (Интернет жеткиликтүү болсо жана маршрут таблицасы туура болсо)

J) Сураныч, GSM сигналын жакшы кармаңыз, антпесе төмөнкүлөр пайда болот.

15 -кадам: Менин GSM модулумду кантип диагноздоо керек (Raspberry Pi)

Менин GSM модулумду кантип диагноздоо керек (Raspberry Pi)
Менин GSM модулумду кантип диагноздоо керек (Raspberry Pi)
Менин GSM модулумду кантип диагноздоо керек (Raspberry Pi)
Менин GSM модулумду кантип диагноздоо керек (Raspberry Pi)
Менин GSM модулумду кантип диагноздоо керек (Raspberry Pi)
Менин GSM модулумду кантип диагноздоо керек (Raspberry Pi)
Менин GSM модулумду кантип диагноздоо керек (Raspberry Pi)
Менин GSM модулумду кантип диагноздоо керек (Raspberry Pi)

Төмөнкү кодду Python 3 менен аткаруу жана smbus китепканасын орнотуу сунушталат:

импорттук сериялык импорттун убактысын импорттоо smbus импорт оператору импорт os

басып чыгаруу ("Инициализация күтүлүүдө …")

автобус = smbus. SMBus (1)

bus.write_byte_data (0x16, 0x23, 0x40)

ser = serial. Serial ('/dev/ttySC0', 115200)

if ser.isOpen == False:

ser.open () try: print ('-'*60) print ("A9G GPRS модулун баштоо.") басып чыгаруу ("GSM туташуу…") time.sleep (3) i = 0, True: ser.write (str.encode ("AT+CCID / r")) size = ser.inWaiting () if size! = 0: ticks = time.time () жооп = ser.read (size) ccid = str (жооп, коддоо = "utf -8 ") басып чыгаруу (ccid) башка: i = i + 1 ser.flushInput () time.sleep (1) KeyboardInterruptдон башка: ser.close ()

Exec Test Script, ишке ашыруунун жыйынтыгы боюнча, биз GSM модулун аныктай алабыз. Мисалы, кийинки кайтаруу, CME ERROR 53 катасы бизге Power жакшы эмес экенин айтат. CME Code = GSM жабдуулары менен байланышкан каталар

Албетте, скрипттин баштапкы абалга келтирүү функциясы да бар. Эгерде сиз CCIDди туура көрсөтө алсаңыз, баштапкы абалга келтирүү аяктады.

16 -кадам: C менен Lora TX & RXти кантип колдонуу керек (Raspberry Pi)

Төмөнкү кодду Python 3 менен аткаруу жана smbus китепканасын орнотуу сунушталат.

Ал эки IOT түйүнүнүн ортосунда которулушу керек (A). Өзү жөнөткөн мазмунду өз алдынча кабыл алуу мүмкүн эмес. Сураныч, аны аткаруу үчүн py скрипти катары сактаңыз.

Кантип жөнөтүү керек: Дайындарды 0x01 - 0x10 реестрине толтургандан кийин, L_TX битин маалыматтарды жөнөтүүнү баштоо үчүн коюңуз.

импорт timeimport smbus импорт os импорт sys

автобус = smbus. SMBus (1)

аракет кыл:

data_list = [170, 85, 165, 90] # катталуу үчүн маалыматтарды жазыңыз, анан маалыматтар жөнөтүлөт. диапазондогу индекс үчүн (1, len (data_list) + 1): bus.write_byte_data (0x16, index, data_list [index - 1]) басып чыгаруу ("LORA %d регистрге %d берилиштерди жөнөтүү" %(индекс, data_list [index - 1])) bus.write_byte_data (0x16, 0x23, 0x01) KeyboardInterruptдон башка: sys.exit ()

Алууну кантип жөнөтүү керек: L_RXNE битин текшериңиз, эгер коюлган болсо, жаңы маалыматтар келди, бул желек кол менен тазаланышы керек

импорт timeimport smbus импорт os импорт sys

автобус = smbus. SMBus (1)

recv_data =

аракет кыл:

if bus.read_byte_data (0x16, 0x23) & 0x02: # L_RXNE кол менен тазалоо bus.write_byte_data (0x16, 0x23, 0x00) register_list = [0x11, 0x12, 0x13, 0x14] # диапазондогу индекстер үчүн маалыматтарды окуу (0x11, len (register_list) + 0x11): recv_data.append (bus.read_byte_data (0x16, register_list [index - 0x11]))

басып чыгаруу ("Алынган маалыматтар:")

print (recv_data) else: print ("Азырынча эч кандай маалымат алынган жок ~") KeyboardInterruptдон башка: sys.exit ()

17 -кадам: I2C өткөрүү жөндөмүнүн атайын сүрөттөлүшү

I2C ылдамдыгынын чеги I2C протоколунан улам 400кГц, ошондуктан бирдиктүү түзмөктүн эффективдүү өткөрүү жөндөмдүүлүгү 320kbpsтен төмөн, көп түзмөктүн эффективдүү өткөрүү жөндөмдүүлүгү 160kbpsтен төмөн. I2C UART Bridge ылдамдыгынын чеги 115200bps. ошол эле учурда иштөө, I2C өткөрүү жөндөмдүүлүгү жетишсиз, анткени 115.2kbps * 2 = 230.4kbps, андыктан кээ бир маалыматтар толуп кетет. GPS жана GSM байланышынын ылдамдыгын азайтуу байланыштын өткөрүү жөндөмүнүн жетишсиздигин жакшырта алат. кошумча I2C өткөрүү жөндөмү. Адатта, тармактын маалымат ылдамдыгы жай, андыктан GSM өткөрүү жөндөмү толук эмес, андыктан ашыкча көйгөй жок.

18 -кадам: Бүттү

Балдар сизге жагат жана жасайсыз деп үмүттөнөбүз.

аны бул жерден таба аласыз:

Amazon

Түнкү жарык: https://www.amazon.com/GeeekPi-Night-Light-WS2812-Raspberry/dp/B07LCG2S5S 4каналдуу Эстафета тактасы: https://www.amazon.co.uk/dp/B07MV1TJGR?ref=myi_title_dp : Https: //www.amazon.co.uk/dp/B07TD595VS? Ref = myi_title_dp IoT түйүнү) A) : https://www.amazon.co.uk/dp/B07TY15M1C Sensor HUB: https:// www. amazon.co.uk/dp/B07TZD8B61 муз мунарасы:

Сунушталууда: