Სარჩევი:

[Docker Pi სერია] როგორ გამოვიყენოთ IoT Node (A) მოდული Raspberry Pi– ზე: 18 ნაბიჯი
[Docker Pi სერია] როგორ გამოვიყენოთ IoT Node (A) მოდული Raspberry Pi– ზე: 18 ნაბიჯი

ვიდეო: [Docker Pi სერია] როგორ გამოვიყენოთ IoT Node (A) მოდული Raspberry Pi– ზე: 18 ნაბიჯი

ვიდეო: [Docker Pi სერია] როგორ გამოვიყენოთ IoT Node (A) მოდული Raspberry Pi– ზე: 18 ნაბიჯი
ვიდეო: 3 Maneras de Reforzar las MUELLES para sacarle el mejor provecho a tu Pickup 2024, ნოემბერი
Anonim
[დოკერ პი სერია] როგორ გამოვიყენოთ IoT კვანძის (A) მოდული ჟოლოს პიზე
[დოკერ პი სერია] როგორ გამოვიყენოთ IoT კვანძის (A) მოდული ჟოლოს პიზე

რა არის IoT Node (A) მოდული?

IoT Node (A) არის ერთ -ერთი Docker Pi სერიის მოდული.

IOT კვანძი (A) = GPS/BDS + GSM + ლორა.

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) მოდული

1 x 16 GB კლასის 10 TF ბარათი

1x 5V/2.5A კვების წყარო (5V@3A Pi 4B– სთვის)

ნაბიჯი 1: მახასიათებლები

მახასიათებლები
მახასიათებლები
მახასიათებლები
მახასიათებლები
მახასიათებლები
მახასიათებლები
  • დოკერ პი სერია
  • პროგრამირებადი
  • კონტროლი პირდაპირ (პროგრამირების გარეშე)
  • გააფართოვეთ GPIO ქინძისთავები
  • GPS/BDS მხარდაჭერა
  • GSM მხარდაჭერა
  • ლორას მხარდაჭერა
  • შეუძლია დასტის სხვა დასტის დაფა
  • დამოუკიდებელია დედაპლატის აპარატურისგან (მოითხოვს I2C მხარდაჭერას)

ნაბიჯი 2: ნაბიჯი 1: იცოდეთ IoT (A) დაფის შესახებ

ნაბიჯი 1: იცოდეთ IoT (A) დაფის შესახებ
ნაბიჯი 1: იცოდეთ IoT (A) დაფის შესახებ
ნაბიჯი 1: იცოდეთ IoT (A) დაფის შესახებ
ნაბიჯი 1: იცოდეთ IoT (A) დაფის შესახებ
ნაბიჯი 1: იცოდეთ IoT (A) დაფის შესახებ
ნაბიჯი 1: იცოდეთ IoT (A) დაფის შესახებ

IoT Node (A) არის ერთ -ერთი Docker Pi სერიის მოდული.

IOT კვანძი (A) = GPS/BDS + GSM + ლორა.

I2C პირდაპირ აკონტროლებს ლორას, აგზავნის და იღებს მონაცემებს, აკონტროლებს GSM/GPS/BDS მოდულს SC16IS752- ის საშუალებით, დედაპლატს მხოლოდ I2C მხარდაჭერა სჭირდება. ჟოლოს Pi და სხვა მსგავსი პროდუქტების მხარდაჭერა.

ასე რომ თქვენ შეგიძლიათ შექმნათ საშუალო დიაპაზონის საკომუნიკაციო მოწყობილობა ორი მათგანის გამოყენებით.

ასევე შეგიძლიათ იპოვოთ თქვენი მოწყობილობის ადგილმდებარეობა GPS მოდულის ბორტზე.

ჩადეთ SIM ბარათი, ის გახდება გადამცემი სადგური SMS შეტყობინების საშუალებით.

ნაბიჯი 3: ნაბიჯი 2: როგორ შევიკრიბოთ იგი

ნაბიჯი 2: როგორ შევიკრიბოთ იგი
ნაბიჯი 2: როგორ შევიკრიბოთ იგი
ნაბიჯი 2: როგორ შევიკრიბოთ იგი
ნაბიჯი 2: როგორ შევიკრიბოთ იგი

მისი აწყობა ძალიან ადვილია მისი "ქუდის" დიზაინის გამო, თქვენ უბრალოდ აცვიათ იგი ჟოლოს პიზე და დააკავშირეთ GPIO ქინძისთავებით, ის ჟოლოს პიზე "ქუდის" მსგავსია, რათა არ დაგჭირდეთ მასის დამატება. მავთული.

ნაბიჯი 4: ნაბიჯი 3: შეაერთეთ ანტენა

ნაბიჯი 3: დააკავშირეთ ანტენა
ნაბიჯი 3: დააკავშირეთ ანტენა
ნაბიჯი 3: დააკავშირეთ ანტენა
ნაბიჯი 3: დააკავშირეთ ანტენა
ნაბიჯი 3: დააკავშირეთ ანტენა
ნაბიჯი 3: დააკავშირეთ ანტენა

ამ IoT (A) მოდულისთვის არის 3 ცალი ანტენა, ერთი მათგანი არის loar მოდულისთვის, ეს არის SMA ტიპის ანტენა და ერთი მათგანი კარგია GPS– ისთვის, ეს არის კვადრატული ყუთის ანტენა, რომელსაც აქვს IPX პორტი. და ბოლო არის SIM მოდულისთვის (A9G), ეს არის პატარა ანტენა, რომელსაც აქვს IPX პორტი. დააკავშირეთ ანტენა და დააინსტალირეთ ქუდი თქვენს ჟოლოს პიზე.

როგორ შევიკრიბოთ Iot Node (A) დაფა Raspberry Pi- ზე

შეაერთეთ GPS ანტანა და ლორა ანტანა IPX პორტამდე.

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

ხრახნის GPRS ანტანას SMA პორტზე.

ნაბიჯი 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: დაიმახსოვრეთ, გახსენით იგი და განათავსეთ იგი თქვენს/ჩატვირთვის/გადაფარვის/საქაღალდეში და შეცვალეთ ძველი.

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 და მიჰყევით მოთხოვნას, რომ დააინსტალიროთ i2c მხარდაჭერა ARM core და linux kernel გადადით ინტერფეისის პარამეტრებზე

ნაბიჯი 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 მოდულაციის მეთოდების მხარდაჭერა

მიმღების ულტრა მაღალი მგრძნობელობა -141 დბმ -მდე

პრეამბულის გამოვლენის მხარდაჭერა

პაკეტის ძრავა CRC– ით, 256 ბაიტამდე

LORA გადამცემი მაჩვენებელი

მარტივი 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 ბუფერი 2 - მომხმარებლის მონაცემები
  • 0x03 LORA_TX3 Lora TX ბუფერი 3 - მომხმარებლის მონაცემები
  • 0x04 LORA_TX4 Lora TX ბუფერი 4 - მომხმარებლის მონაცემები
  • 0x05 LORA_TX5 Lora TX ბუფერი 5 - მომხმარებლის მონაცემები
  • 0x06 LORA_TX6 Lora TX ბუფერი 6 - მომხმარებლის მონაცემები
  • 0x07 LORA_TX7 Lora TX ბუფერი 7 - მომხმარებლის მონაცემები
  • 0x08 LORA_TX8 Lora TX ბუფერი 8 - მომხმარებლის მონაცემები
  • 0x09 LORA_TX9 Lora TX ბუფერი 9 - მომხმარებლის მონაცემები
  • 0x0a LORA_TX10 Lora TX ბუფერი 10 - მომხმარებლის მონაცემები
  • 0x0b LORA_TX11 Lora TX ბუფერი 11 - მომხმარებლის მონაცემები
  • 0x0c LORA_TX12 Lora TX ბუფერი 12 - მომხმარებლის მონაცემები
  • 0x0d LORA_TX13 Lora TX ბუფერი 13 - მომხმარებლის მონაცემები
  • 0x0e LORA_TX14 Lora TX ბუფერი 14 - მომხმარებლის მონაცემები
  • 0x0f LORA_TX15 Lora TX ბუფერი 15 - მომხმარებლის მონაცემები
  • 0x10 LORA_TX16 Lora TX ბუფერი 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 ბუფერი 8 - მომხმარებლის მონაცემები
  • 0x19 LORA_RX9 Lora RX ბუფერი 9 - მომხმარებლის მონაცემები
  • 0x1a LORA_RX10 Lora RX ბუფერი 10 - მომხმარებლის მონაცემები
  • 0x1b LORA_RX11 Lora RX ბუფერი 11 - მომხმარებლის მონაცემები
  • 0x1c LORA_RX12 Lora RX ბუფერი 12 - მომხმარებლის მონაცემები
  • 0x1d LORA_RX13 Lora RX ბუფერი 13 - მომხმარებლის მონაცემები
  • 0x1e LORA_RX14 Lora RX ბუფერი 14 - მომხმარებლის მონაცემები
  • 0x1f LORA_RX15 Lora RX ბუფერი 15 - მომხმარებლის მონაცემები
  • 0x20 LORA_RX16 Lora RX ბუფერი 16 - მომხმარებლის მონაცემები
  • 0x01 - 0x10 მხოლოდ ჩაწერა.
  • 0x11 - 0x20 მხოლოდ წასაკითხი.

ნაბიჯი 9: ინსტრუქცია:

ინსტრუქცია
ინსტრუქცია

L_SET (მხოლოდ ჩაწერა)

  • ჩაწერეთ 1 პარამეტრების დასაყენებლად 0x22- დან LORA მოდულამდე.
  • ჩაწერეთ 0 ეფექტი არ არის

G_RESET (მხოლოდ ჩაწერა)

  • ჩაწერეთ 1 A9G მოდულის გადასატვირთად
  • ჩაწერეთ 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"

შეიყვანეთ ბრძანება i2cset -y 1 0x16 0x23 0x40 GPRS მოდულის გადასაყენებლად.

პითონის სკრიპტი ღია GPS– ისთვის:

იმპორტი სერიული იმპორტი os იმპორტის დრო # გადატვირთეთ gpsd სერვისი. os.system ("sudo systemctl გადატვირთვა gpsd.socket") # სერიული პორტის გახსნა ser = serial. Serial ('/dev/ttySC0', 115200) i = 0 თუ ser.isOpen == ყალბი: ser.open () სცადეთ: ამობეჭდვა ("GPS- ის ჩართვა …") ხოლო True: ser.write (str.encode ("AT+GPS = 1 / r")) size = ser.inWaiting () if size! = 0: ticks = time.time () response = ser.read (ზომა) gps = str (პასუხი, კოდირება = "utf -8") if (gps.find ("OK")! = -1): os.system ("sudo cgps -s") გასვლა () სხვა: i = i + 1 ბეჭდვა ("ელოდება GPS ჩართვას, თუ დრო ძალიან გრძელია, გთხოვთ გამოსცადოთ გარეთ:" + str (i)) ser.flushInput () time.sleep (1) KeyboardIntrupt: ser.flushInput () ser. დახურვა ()

შეინახეთ და შეასრულეთ:

python3 GPS.py

ნაბიჯი 11: როგორ გამოვიყენოთ GPS მოდული C (Raspberry Pi)

დააინსტალირეთ gpsd ინსტრუმენტები

sudo apt-get დააინსტალირეთ libgps-dev

შექმენით საწყისი კოდი და დაასახელეთ "gps.c"

#ჩართეთ #ჩართეთ #ჩართეთ

#ჩართეთ

#ჩართეთ

int მთავარი ()

{int rc; struct timeval ტელევიზია; სტრუქტურა 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 წამს მონაცემების მისაღებად * / თუ (gps_waiting (& gps_data, 2000000)) { / * წაიკითხეთ მონაცემები * / if ((rc = gps_read (& gps_data)) == -1) {printf ("წაკითხვისას მოხდა შეცდომა gps მონაცემები. კოდი: %d, მიზეზი: %s / n ", rc, gps_errstr (rc)); } სხვა { /* აჩვენეთ მონაცემები 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. ხანგრძლივობა)) { /* gettimeofday (& tv, NULL); რედაქტირება: 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);

// რედაქტირება: შეცვალა 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: შეადგინეთ იგი

შეადგინეთ იგი
შეადგინეთ იგი

შეადგინე!

gcc gps.c -lm -lgps -o gps

შეასრულეთ!

./gps

ნაბიჯი 13: როგორ გამოვიყენოთ GPS მოდული პითონთან (ჟოლო Pi)

როგორ გამოვიყენოთ GPS მოდული პითონთან (Raspberry Pi)
როგორ გამოვიყენოთ 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– ით (ჟოლოს პი)
როგორ გამოვიყენოთ GSM მოდული PPPd– ით (ჟოლოს პი)
როგორ გამოვიყენოთ GSM მოდული PPPd– ით (ჟოლოს პი)
როგორ გამოვიყენოთ GSM მოდული PPPd– ით (ჟოლოს პი)
როგორ გამოვიყენოთ GSM მოდული PPPd– ით (ჟოლოს პი)
როგორ გამოვიყენოთ GSM მოდული PPPd– ით (ჟოლოს პი)

ა) პირველი, შეცვალეთ/boot/overlays/sc16is752-i2c.dtbo და დარწმუნდით, რომ I2C მუშაობს გამართულად.

  • შეცვალეთ sc16is752-i2c.dtbo
  • I2C- ის კონფიგურაცია

ბ) შეიყვანეთ ბრძანება i2cset -y 1 0x16 0x23 0x40 GPRS მოდულის გადასაყენებლად.

ბრძანების გაშვების შემდეგ, თქვენ უნდა დაელოდოთ ცოტა, დაახლოებით 10 წამი

თქვენ ასევე შეგიძლიათ გამოიყენოთ შემდეგი მეთოდი გადატვირთვისთვის.

გ) შეიყვანეთ ბრძანება

sudo apt დააინსტალირეთ ppp

ppp ინსტრუმენტების დაყენება.

დ) დააკოპირეთ/etc/ppp/peers/მიმწოდებელი/etc/ppp/peers/gprs

ე) შეცვალეთ/etc/ppp/peers/gprs

  • ხაზი 10: გთხოვთ, გაეცნოთ მომხმარებლის მომსახურების მიმწოდებელს (მაგალითი: cmnet).
  • ხაზი 15: გთხოვთ, მიმართოთ თქვენს სერვის პროვაიდერს apn– ისთვის (მაგალითი: cmnet).
  • ხაზი 18 - სტრიქონი 24: რეკომენდებული პარამეტრი

F) შეცვალეთ/etc/chatscripts/gprs (შეცვალეთ ხაზი 34 ხაზში 35, დიალოგის ნომერი შეიძლება არ იყოს *99#)

ზ) შეიყვანეთ ბრძანება sudo pppd დარეკეთ gprs დარეკვისთვის.

თ) შეამოწმეთ თქვენი ppp კონფიგურაცია თქვენი პროვაიდერისგან.

I) შეიყვანეთ ბრძანება ping -I ppp0 8.8.8.8 შეამოწმეთ თქვენი ქსელი (თუ ინტერნეტი ხელმისაწვდომია და მარშრუტის ცხრილი სწორია)

კ) გთხოვთ შეინახოთ GSM სიგნალი კარგი, წინააღმდეგ შემთხვევაში მოხდება შემდეგი.

ნაბიჯი 15: როგორ დავადგინო ჩემი GSM მოდული (ჟოლო Pi)

როგორ დავადგინო ჩემი GSM მოდული (ჟოლო პი)
როგორ დავადგინო ჩემი GSM მოდული (ჟოლო პი)
როგორ დავადგინო ჩემი GSM მოდული (ჟოლო პი)
როგორ დავადგინო ჩემი GSM მოდული (ჟოლო პი)
როგორ დავადგინო ჩემი GSM მოდული (ჟოლო პი)
როგორ დავადგინო ჩემი GSM მოდული (ჟოლო პი)
როგორ დავადგინო ჩემი GSM მოდული (ჟოლო პი)
როგორ დავადგინო ჩემი GSM მოდული (ჟოლო პი)

შემდეგი კოდი რეკომენდირებულია Python 3 -ის გამოყენებით და smbus ბიბლიოთეკის დაყენება:

იმპორტი სერიული იმპორტი დრო იმპორტი smbus იმპორტიორი ოპერატორი იმპორტი os

ბეჭდვა ("ველოდები ინიციალიზაციას …")

ავტობუსი = smbus. SMBus (1)

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

ser = სერიული. სერიული ('/dev/ttySC0', 115200)

თუ ser.isOpen == ყალბი:

ser.open () try: print ('-'*60) print ("A9G GPRS მოდულის ინიციალიზაცია.") print ("GSM დაკავშირება …") time.sleep (3) i = 0 ხოლო True: ser.write (str კოდი -8 ") ამობეჭდვა (ccid) სხვა: i = i + 1 ser.flushInput () time.sleep (1) გარდა KeyboardIntruptrupt: ser.close ()

შეასრულეთ სატესტო სკრიპტი, განხორციელების შედეგებზე დაყრდნობით, ჩვენ შეგვიძლია დავადგინოთ GSM მოდული. მაგალითად, შემდეგი დაბრუნება, CME ERROR 53 შეცდომა გვეუბნება ძალა არ არის კარგი. CME კოდი = GSM აპარატურა დაკავშირებული შეცდომები

რა თქმა უნდა, სკრიპტს ასევე აქვს გადატვირთვის ფუნქცია. თუ თქვენ შეგიძლიათ სწორად აჩვენოთ CCID, გადატვირთვა დასრულებულია.

ნაბიჯი 16: როგორ გამოვიყენოთ Lora TX & RX C– სთან ერთად (Raspberry Pi)

შემდეგი კოდი რეკომენდირებულია Python 3 -ის გამოყენებით და smbus ბიბლიოთეკის დაყენება.

ის უნდა გადაეცეს ორ IOT კვანძს (A) შორის. თავისთავად გაგზავნილი შინაარსი თავისთავად ვერ მიიღება. გთხოვთ შეინახოთ იგი py სკრიპტის სახით შესასრულებლად.

როგორ გავაგზავნოთ: მონაცემების რეესტრში 0x01 - 0x10 შევსების შემდეგ, დააყენეთ L_TX ბიტი მონაცემების გაგზავნის დასაწყებად.

იმპორტი დროიმპორტი smbus იმპორტი os იმპორტი sys

ავტობუსი = smbus. SMBus (1)

სცადე:

data_list = [170, 85, 165, 90] # ჩაწერეთ მონაცემები რეგისტრაციისთვის და შემდეგ მონაცემები გაიგზავნება. დიაპაზონში ინდექსისთვის (1, ლენ (მონაცემების სია) + 1): bus.write_byte_data (0x16, index, data_list [index - 1]) print ("LORA send data to %d register %d data" %(index, data_list [ინდექსი - 1])) bus.write_byte_data (0x16, 0x23, 0x01) კლავიატურის გარდა შეფერხება: sys.exit ()

როგორ გავაგზავნოთ მიღება: შეამოწმეთ L_RXNE ბიტი, თუ მითითებულია, ახალი მონაცემები მოვიდა, ეს დროშა ხელით უნდა იყოს გასუფთავებული

იმპორტი დროიმპორტი 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]))

ბეჭდვა ("მიღებული მონაცემები:")

ამობეჭდვა (recv_data) სხვა: ბეჭდვა ("ჯერ მონაცემები არ არის ~") გარდა კლავიატურისა შეფერხება: sys.exit ()

ნაბიჯი 17: I2C გამტარუნარიანობის სპეციალური აღწერა

I2C სიჩქარის ლიმიტი არის 400kHz, I2C პროტოკოლის გამო, ამიტომ ერთი მოწყობილობის ეფექტური გამტარობა 320kbps– ზე დაბალია, მრავალ მოწყობილობის ეფექტური გამტარობა 160kbps– ზე ნაკლები. I2C UART ხიდის სიჩქარის ლიმიტი 115200bps. როდესაც GPS და GSM იმავდროულად მუშაობა, I2C გამტარუნარიანობა არასაკმარისია, რადგან 115.2kbps * 2 = 230.4kbps, ასე რომ ზოგიერთი მონაცემი იქნება გადაჭარბებული. GPS და GSM კომუნიკაციის სიჩქარის შემცირებამ შეიძლება გააუმჯობესოს საკომუნიკაციო გამტარუნარიანობის დეფიციტი. სხვა DockerPi მოდულების დაწყობამ დამატებითი I2C გამტარუნარიანობა. ჩვეულებრივ, ქსელის მონაცემთა სიჩქარე ნელია, ამიტომ GSM გამტარობა არ არის სავსე, ამიტომ არ არის გადატვირთვის პრობლემა.

ნაბიჯი 18: დასრულდა

იმედია მოგეწონებათ და გააკეთეთ.

შეგიძლიათ იპოვოთ აქ:

ამაზონი

ღამის შუქი : https://www.amazon.com/GeeekPi-Night-Light-WS2812-Raspberry/dp/B07LCG2S5S 4 არხის სარელეო დაფა: https://www.amazon.co.uk/dp/B07MV1TJGR?ref=myi_title_dp Power Board : 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 ყინულის კოშკი :

გირჩევთ: