Komputer tertanam AntexGate + 3G-modem. Pengaturan yang berguna untuk koneksi internet yang lebih stabil

gambar


Di bidang otomasi industri, terdapat paradigma tak terucapkan di mana banyak produsen peralatan industri membuat pengontrol secara terpisah dan modem secara terpisah. Biasanya, setiap perangkat ditempatkan dalam wadahnya sendiri, memiliki catu daya sendiri, dimensi besar, dan biaya tinggi. Varian pemisahan fungsional ini memiliki kelebihan dan kekurangan, tetapi menurut pendapat kami, ini mengarah pada komersialisasi yang lebih besar daripada karena beberapa alasan obyektif. Oleh karena itu, kami memutuskan untuk mengambil jalan yang sedikit berbeda dan membuat perangkat universal , yang merupakan pengontrol berbasis Linux yang dapat diprogram secara bebas dengan modem dalam satu wadah. Ini memungkinkan kami dalam proyek kami untuk secara praktis meninggalkan panel otomasi biasa dan datang ke solusi yang lebih mobile.



Di bawah potongan artikel ini, kami akan berbagi dengan Anda seluk-beluk pengaturan modem dan beberapa skrip berguna untuk koneksi 3G yang lebih stabil.



Prasyarat dan solusi



Saat mengembangkan perangkat kami, kami dipandu oleh fakta bahwa perangkat harus terhubung ke Internet seluler untuk terhubung ke platform cloud. Ada dua cara: menyolder modem ke papan, atau menggunakan konektor mPCIe. Kami memilih opsi kedua dan menyediakan dua konektor mPCIe sekaligus (Gambar 1), karena opsi ini menurut kami lebih menarik dan fleksibel. Bagaimanapun, instalasi dan penggantian modem membutuhkan beberapa detik, ditambah variabilitas yang diperlukan muncul untuk pengguna dan dia dapat menggunakan kombinasi modul mPCIe yang dia butuhkan untuk proyek tertentu. Selain modem 3G, bisa juga modul LoraWan atau Wi-Fi. Selain itu, solusi mPCIe telah terbukti cukup andal dan berkualitas tinggi.



gambar

Gambar 1 - konektor mPCIe



Kami menganggap opsi berikut sebagai modul 3G utama untuk perangkat kami:



  • MikroTik R11e-LTE6
  • Quectel EC25-E
  • YUGA CLM920 TE5
  • HUAWEI MU709s-2p


Namun, setelah dilakukan pengujian, modem HUAWEI ternyata yang paling disukai oleh kami dalam hal keandalan dan rasio kualitas harga (Gambar 2). Kami mengambilnya sebagai dasar dan menginstalnya secara opsional di perangkat kami. Oleh karena itu, di masa mendatang kami akan mempertimbangkan konfigurasi dan skrip dari modem relatif model ini. Mungkin skrip ini akan bersifat universal dan berguna untuk modem lain, tetapi stabilitas kerja dengan model lain tidak dijamin. Untuk Rasbian Buster dan HUAWEI MU709s-2p semuanya berfungsi dengan baik.



gambar

Gambar 2 - Modem HUAWEI MU709s-2p terpasang di papan perangkat



Menggunakan skrip untuk mem-boot ulang modem 3G



Untuk operasi yang lebih stabil dan bebas masalah, kami menulis skrip yang akan melakukan ping ke alamat IP yang ditentukan, dan jika jumlah ping yang ditentukan dalam pengaturan belum berlalu, maka modem GSM akan reboot, sehingga memulihkan koneksi jaringan yang terputus. Perlu dicatat bahwa modem didefinisikan dalam sistem sebagai kartu jaringan LAN1.



Arsip dengan semua file yang diperlukan dapat diunduh dari tautan ini . Juga, teks dari skrip itu sendiri disajikan di bawah ini.



File check_inet.sh diperlukan untuk memeriksa koneksi internet. Jika alamat IP yang ditentukan tidak melakukan ping, maka kami menyentak 19 kaki dan memulai ulang modem dengan daya. Kodenya adalah sebagai berikut:



#!/bin/bash
#count=0;
#echo "Start script"
#echo 19 > '/sys/class/gpio/export'

while [ true ]; do
# sleep 30
. /home/pi/igate.conf
#echo $usb_port
#echo 'AT^NDISDUP=1,1,''"'$apn'"''\r\n' 
#echo 'AT^NDISDUP=1,1,"internet.mts.ru"\r\n' 
flag=0

for ((i = 1; i <= $ping_count; i++)); do
#for i in {1..$ping_count}; do # 5   
#ping -I eth1 -c 1 8.8.8.8 > /dev/null || flag=$(($flag+1))
ping -I $interface -c 1 $ping_ip || flag=$(($flag+1))
sleep 1
done

if [ "$flag" -ge "$ping_error" ]; then #    3
#echo "  - "
#count=$((count+1))
#echo $count
# 
sudo ifconfig eth1 down
echo 19 > '/sys/class/gpio/export'
echo out > '/sys/class/gpio/gpio19/direction'
echo 0 > '/sys/class/gpio/gpio19/value'
sleep 1
echo 1 > '/sys/class/gpio/gpio19/value'
sleep 15
sudo ifconfig eth1 up
sleep 1
#echo -en 'AT^NDISDUP=1,1,"internet.mts.ru"\r\n' > /dev/ttyUSB3
#       APN
echo -en 'AT^NDISDUP=1,1,''"'$apn'"''\r\n' > $usb_port
#echo "  - "
fi
sleep $timeout
done 


File Start_inet.sh mulai check_inet.sh setelah perangkat di-boot ulang:



#!/bin/bash

### BEGIN INIT INFO
# Provides:          start_inet
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Example initscript
# Description:       This service is used to manage a servo
### END INIT INFO


case "$1" in 
    start)
        echo "Starting check_inet"
        sudo /home/pi/check_inet.sh > /dev/null 2>&1 &
        #/home/pi/check_inet.sh
        ;;
    stop)
        echo "Stopping check_inet"
        #killall servod
        sudo kill -USR1 $(ps ax | grep 'check_inet' | awk '{print $1}')
        ;;
    *)
        echo "Usage: /etc/init.d/check_inet start|stop"
        exit 1
        ;;
esac

exit 0


Arsip ini juga berisi file konfigurasi igate.conf



Urutan konfigurasi :



1. Tambahkan aturan untuk mencocokkan koneksi fisik port COM modem ke hub USB. Untuk melakukan ini, edit file di jalur berikut:



sudo nano /etc/udev/rules.d/99-com.rules


2. Tambahkan baris berikut ke file:



KERNEL==”ttyUSB*”, KERNELS==”1-1.5:2.4β€³, SYMLINK+=”GSM”


3. Simpan aturan dan reboot perangkat. Sekarang port modem Anda akan ditentukan oleh alias / dev / GSM;



4. Unduh arsip menggunakan tautan di atas, atau buat sendiri file check_inet.sh, start_inet.sh dan igate.conf;



5. Salin file check_inet.sh ke folder:



/home/pi/


6. Jadikan check_inet.sh dapat dieksekusi:



sudo chmod +x /home/pi/check_inet.sh


7. Salin file start_inet.sh ke folder:



/etc/init.d/


8. Jadikan file start_inet.sh dapat dieksekusi:



sudo chmod +x /etc/init.d/start_inet.sh


9. Perbarui konfigurasi startup dengan menjalankan perintah:



sudo update-rc.d start_inet.sh defaults


10. Salin file igate.conf ke folder:



/home/pi/


11. Atur file konfigurasi. Di bawah ini adalah file konfigurasi dengan komentar:



#ip- .      ip-,     [ping_error]    ,    GSM-,      .

ping_ip=”8.8.8.8β€³

#  APN.      -,     -.

apn=”internet.mts.ru”

#   3G ( ).   .  30     .

timeout=30

# .   .

ping_count=5

#     .   ,      .      [ping_count].            .

ping_error=3

#LAN  .   ,    AntexGate   [eth1],      ifconfig

interface=eth1

#USB  .  USB      ,    AntexGate   [ttyUSB4]

usb_port=”/dev/GSM”


Kontrol skrip



Jalankan file skrip check_inet.sh di latar belakang:



/etc/init.d/start_inet.sh start


Hentikan check_inet.sh:



/etc/init.d/start_inet.sh stop


Skrip juga diluncurkan secara otomatis setelah perangkat di-boot ulang.



Aplikasi perangkat



Mari pertimbangkan tugas utama yang perangkatnya dapat digunakan:



  1. Pengontrol dengan akses Internet untuk transfer data ke cloud;
  2. Router 3G untuk tugas lapangan;
  3. Pengontrol rumah pintar dengan saluran 3G redundan. Artinya, Anda dapat menggunakan port LAN sebagai saluran komunikasi utama, dan 3G sebagai cadangan, sehingga Anda selalu memiliki akses ke perangkat;
  4. Pemancar LoRaWAN, yaitu mengumpulkan perangkat melalui LoRaWAN dan mentransfer data ke cloud melalui jaringan 3G atau LTE;
  5. Perangkat pemantau kendaraan (CAN koneksi dan docking dengan berbagai layanan)


Faktanya, ada banyak aplikasi untuk perangkat semacam itu, dan keunggulannya yang tidak diragukan lagi adalah kelengkapan, keserbagunaan, dan mobilitasnya. Satu perangkat dapat menggantikan kabinet otomatisasi yang sudah dikenal dan menjadi solusi yang tak tergantikan dalam proyek Anda.



All Articles