OpenLinux SIM7600E-H modullarının bir hissəsi kimi

OpenLinux SIM7600E-H modullarının bir hissəsi kimi

Fərdi proqramın hazırlanması və modula yüklənməsi mexanizmi həm Linux, həm də Windows əməliyyat sistemlərində mövcuddur. Bu yazıda təqdim olunan SDK-dan nümunələrdən istifadə edərək necə edildiyini ətraflı nəzərdən keçirəcəyik SIMCom Simsiz Həllər modula xüsusi proqram tərtib edin və yükləyin.

Məqaləni yazmazdan əvvəl, Linux üçün inkişafdan uzaq tanışlarımdan biri, SIM7600E-H modulu üçün öz ərizəmi hazırlamaq prosesini mümkün qədər ətraflı təsvir etmək məsələsinə yanaşmağı xahiş etdi. Materialın təqdimatının əlçatanlığını qiymətləndirmək üçün meyarı "başa düşməyim üçün" ifadəsi idi.

Sizi baş verənlərlə tanış olmağa dəvət edirəm.

Məqalə müntəzəm olaraq əlavə olunur və yenilənir

Müqəddimə

Tipik olaraq, mobil rabitə modulları yalnız məlumatların ötürülməsi, səsli zənglər, SMS ötürülməsi və sair üçün istifadə olunur. Bütün bunlar xarici idarəetmə mikrokontrolöründən göndərilən AT əmrləri vasitəsilə həyata keçirilir. Ancaq xaricdən yüklənmiş xüsusi kodu icra etməyə imkan verən modullar kateqoriyası var. Bəzi hallarda, bu, cihazın ümumi büdcəsini əhəmiyyətli dərəcədə azaldır, lövhədə daha sadə (və eyni dərəcədə büdcəli) mikrokontroller quraşdırmağa və ya ondan tamamilə imtina etməyə imkan verir. Android və ya Linux ƏS ilə idarə olunan LTE modullarının və onların güclü resurslarının meydana çıxması ilə məşhur prosessorlar üçün mövcud olan istənilən tapşırıqları həll etmək mümkündür. Bu yazıda Linux OS tərəfindən idarə olunan SIM7600E-H haqqında danışılacaq. İcra oluna bilən proqramın necə endirilməsi və işə salınacağına baxacağıq.

Bir çox cəhətdən material "SIM7600 Open Linux develop quide" sənədinə əsaslanır, lakin bəzi əlavələr və ilk növbədə rus versiyası faydalı olacaqdır. Məqalə modulu yenicə mənimsəməyə başlayanlara demo tətbiqini necə yükləməyi başa düşməyə və sonrakı iş üçün lazımi bacarıqları təmin etməyə kömək edəcəkdir.

SIM7600E-H-nin kim olduğu haqqında qısaca

SIM7600E-H, Qualcomm-dan ARM Cortex-A7 1.3GHz prosessoru üzərində qurulmuş moduldur, daxilində Linux əməliyyat sisteminə (kernel 3.18.20) malikdir, Cat-ı dəstəkləyən Avropa (Rusiya daxil olmaqla) 2G/3G/ LTE tezlik diapazonları ilə işləmək qabiliyyətinə malikdir. .4, 150Mbps-ə qədər maksimum yükləmə sürətini və 50Mbps-ə qədər yükləmə sürətini təmin edir. Zəngin periferiya qurğuları, sənaye temperatur diapazonu və quraşdırılmış GPS/QLONASS naviqasiyasının mövcudluğu M2M sahəsində müasir modul həll üçün istənilən tələbləri əhatə edir.

Sistemə ümumi baxış

SIM7600E-H modulu Linux əməliyyat sisteminə (kernel 3.18.20) əsaslanır. Öz növbəsində, fayl sistemi jurnallı fayl sistemi UBIFS (Unsorted Block Image File System) əsasında qurulur.

Bu fayl sisteminin mühüm xüsusiyyətlərinə aşağıdakılar daxildir:

  • arakəsmələrlə işləyir, onların ölçüsünü yaratmağa, silməyə və ya dəyişdirməyə imkan verir;
  • bütün media həcmi üzrə qeydin uyğunlaşdırılmasını təmin edir;
  • Bad blokları ilə işləyir;
  • elektrik kəsilməsi və ya digər nasazlıqlar zamanı məlumat itkisi ehtimalını minimuma endirir;
  • logların aparılması.

Təsvir alınıb buradan, belə bir fayl sisteminin daha ətraflı təsviri də var.

Bunlar. Bu tip fayl sistemi modulun ağır iş şəraiti və mümkün enerji problemləri üçün idealdır. Ancaq bu, qeyri-sabit güc şəraitinin modulun gözlənilən iş rejimi olacağı demək deyil, bu, yalnız cihazın daha çox canlılığını göstərir.

yaddaş

Yaddaş sahələrinin paylanması aşağıdakı kimi qurulur:

OpenLinux SIM7600E-H modullarının bir hissəsi kimi

Üç əsas sahəni vurğulamaq lazımdır:

ubi0:rootfs – yalnız oxunur və Linux nüvəsinin özündən ibarətdir
ubi0:usrfs – əsasən istifadəçi proqramı və məlumatların saxlanması üçün istifadə olunur
ubi0:cahcefs – FOTA yeniləmələri üçün qorunur. Mövcud yer yeniləməni yükləmək üçün kifayət deyilsə, sistem istifadə olunmamış faylları siləcək və bununla da yer boşaldacaq. Ancaq təhlükəsizlik səbəbi ilə fayllarınızı orada yerləşdirməməlisiniz.

Hər üç bölmə aşağıdakı kimi paylanır:

Fayl sistemi
boy
Istifadə
Mövcud
% istifadə edin
Üzərinə quraşdırılmışdır

ubi0:rootfs
40.7M
36.2M
4.4M
89%
/

ubi0:usrfs
10.5M
360K
10.1M
3%
/ məlumat

ubi0:keflər
50.3M
20K
47.7M
0%
/gizli yer

Mövcud funksionallıq

Yuxarıda qeyd edildiyi kimi, modul Qualcomm-dan Cortex A7 çipsetində qurulub. İstifadəçi proqramını emal etmək və proqramın bir hissəsini modula yükləməklə cihazın əsas prosessorunu boşaltmaq üçün belə yüksək performanslı nüvəni təmin etməmək düzgün olmazdı.

İstifadəçi proqramı üçün aşağıdakı periferik iş rejimləri bizim üçün əlçatan olacaq:

Pin nömrəsi
ad
Sys GPIO nömrəsi.
Defolt fəaliyyət
Func1
Func2
Çəkmək
Oyanma fasiləsi

6
SPI_CLK
-
UART1_RTS
-
-
B-PD
-

7
SPI_MISO
-
UART1_Rx
-
-
B-PD
-

8
SPI_MOSI
-
UART1_Tx
-
-
B-PD
-

9
SPI_CS
-
UART1_CTS
-
-
B-PD
-

21
SD_CMD
-
SD kart
-
-
B-PD
-

22
SD_DATA0
-
SD kart
-
-
B-PD
-

23
SD_DATA1
-
SD kart
-
-
B-PD
-

24
SD_DATA2
-
SD kart
-
-
B-PD
-

25
SD_DATA3
-
SD kart
-
-
B-PD
-

26
SD_CLK
-
SD kart
-
-
B-PN
-

27
SDIO_DATA1
-
WLAN
-
-
B-PD
-

28
SDIO_DATA2
-
WLAN
-
-
B-PD
-

29
SDIO_CMD
-
WLAN
-
-
B-PD
-

30
SDIO_DATA0
-
WLAN
-
-
B-PD
-

31
SDIO_DATA3
-
WLAN
-
-
B-PD
-

32
SDIO_CLK
-
WLAN
-
-
B-PN
-

33
GPIO3
GPIO_1020
MIFI_POWER_EN
GPIO
MIFI_POWER_EN
B-PU
-

34
GPIO6
GPIO_1023
MIFI_SLEEP_CLK
GPIO
MIFI_SLEEP_CLK
B-PD
-

46
ADC2
-
ADC
-
-
-
-

47
ADC1
-
ADC
-
-
B-PU
-

48
SD_DET
GPIO_26
GPIO
GPIO
SD_DET
B-PD
X

49
STATUS
GPIO_52
Status
GPIO
Status
B-PD
X

50
GPIO43
GPIO_36
MIFI_COEX
GPIO
MIFI_COEX
B-PD
-

52
GPIO41
GPIO_79
BT
GPIO
BT
B-PD
X

55
SCL
-
I2C_SCL
-
-
B-PD
-

56
SDA
-
I2C_SDA
-
-
B-PU
-

66
RTS
-
UART2_RTS
-
-
B-PD
-

67
CTS
-
UART2_CTS
-
-
B-PD
-

68
RxD
-
UART2_Rx
-
-
B-PD
-

69
RI
-
GPIO(RI)
-
-
B-PD
-

70
D.C.D.
-
GPIO
-
-
B-PD
-

71
TxD
-
UART2_Tx
-
-
B-PD
-

72
DTR
-
GPIO(DTR)
-
-
B-PD
X

73
PCM_OUT
-
PCM
-
-
B-PD
-

74
PCM_IN
-
PCM
-
-
B-PD
-

75
PCM_SYNC
-
PCM
-
-
B-PD
-

76
PCM_CLK
-
PCM
-
-
B-PU
-

87
GPIO77
GPIO77
BT
GPIO
BT
B-PD
-

Razılaşın, siyahı təsir edicidir və qeyd edin: periferik hissələrin bir hissəsi modulu marşrutlaşdırıcı kimi idarə etmək üçün istifadə olunur. Bunlar. Belə bir modul əsasında İnterneti Wi-Fi vasitəsilə yayacaq kiçik bir marşrutlaşdırıcı edə bilərsiniz. Yeri gəlmişkən, SIM7600E-H-MIFI adlı hazır bir həll var və lehimli SIM7600E-H modulu və bir neçə antenna pinləri olan miniPCIE kartıdır, onlardan biri Wi-Fi antenasıdır. Ancaq bu ayrı bir məqalənin mövzusudur.

çərşənbə (həftənin bir günü deyil)

SIMCom Simsiz Həllər tərtibatçılara Linux və ya Windows üçün ən tanış inkişaf mühitini seçmək imkanı verir. Bir modulda bir icra edilə bilən proqramdan danışırıqsa, Windows-u seçmək daha yaxşıdır, daha sürətli və asan olacaq. Mürəkkəb proqram arxitekturası və sonrakı təkmilləşdirmələr gözlənilirsə, Linux-dan istifadə etmək daha yaxşıdır. Bundan əlavə, modula sonradan yükləmək üçün icra olunan faylları tərtib etmək üçün bizə Linux lazımdır; kompilyasiya üçün virtual maşın kifayətdir.

Sizə lazım olanı yükləmək üçün sərbəst mövcud deyil - distribyutorunuzdan tələb edə biləcəyiniz SDK.

Modulla işləmək üçün utilitlərin quraşdırılması

Bundan sonra biz əksər istifadəçilər üçün ən tanış əməliyyat sistemi kimi Windows altında işləyəcəyik.

Sonradan modulla işləməyi mənimsəmək üçün lazımi proqramı bir neçə sadə addımda quraşdırmalıyıq:

  1. GNU / Linux
  2. Cygwin
  3. Sürücülər
  4. AİB

GNU/Linux quraşdırılması

Tətbiqi yaratmaq üçün hər hansı ARM-Linux uyğun kompilyatordan istifadə edə bilərsiniz. Biz yükləmək üçün SourceryCodeBenchLiteARM GNU/Linuxtranslater istifadə edəcəyik. əlaqə.

Bütün komponentlərin düzgün quraşdırılmasını təmin etmək üçün quraşdırma prosesinin bir neçə ekran görüntüsünü buraxacağam. Prinsipcə, quraşdırmada mürəkkəb bir şey yoxdur.

Bütün komponentlərin düzgün quraşdırılmasını təmin etmək üçün quraşdırma prosesinin bir neçə ekran görüntüsünü buraxacağam. Prinsipcə, quraşdırmada mürəkkəb bir şey yoxdur.

  1. Lisenziya müqaviləsini qəbul edirik
    OpenLinux SIM7600E-H modullarının bir hissəsi kimi
  2. Quraşdırma qovluğunu təyin edin
    OpenLinux SIM7600E-H modullarının bir hissəsi kimi
  3. Lazımi komponentləri dəyişmədən buraxırıq
    OpenLinux SIM7600E-H modullarının bir hissəsi kimi
  4. Olduğu kimi buraxın
    OpenLinux SIM7600E-H modullarının bir hissəsi kimi
  5. Bir neçə dəfə "Növbəti", "Quraşdır" və əsasən budur
    OpenLinux SIM7600E-H modullarının bir hissəsi kimi

Cygwin quraşdırılması

Bundan əlavə, inkişaf üçün sizə təqdim olunan dəstdən bir sıra kitabxanalar və kommunal proqramlar lazımdır Cygwin. Burada hər şey sadədir, Cygwin-in hazırkı versiyasını layihənin rəsmi saytında pulsuz yükləmək olar; yazı hazırlanarkən 3.1.5 versiyası mövcud idi, material hazırlayarkən istifadə etdiyimiz budur.

Cygwin-i quraşdırmaqda mürəkkəb bir şey yoxdur, seçməli olduğunuz yeganə şey, quraşdırıcının lazımi faylları endirəcəyi, hər hansı birini seçəcəyi və quraşdıracağı güzgüdür, həmçinin bütün mövcud kitabxanaları tərk edərək bir sıra kommunal və kitabxanalar. kommunallar seçildi.

Sürücülərin quraşdırılması

Modul kompüterə qoşulduqdan sonra sürücüləri quraşdırmalı olacaqsınız. Bunlar distribyutorunuzdan tələb oluna bilər (tövsiyə olunur). İnternetdə təkbaşına axtarış etməyi məsləhət görmürəm, çünki... Cihaz münaqişəsinə səbəb olanı tapmaq çox vaxt apara bilər.

OpenLinux SIM7600E-H modullarının bir hissəsi kimi

Seçilmiş portlar arasında aşağıdakıları görürük:

Windows
Linux
Təsvir

SimTech HS-USB Diaqnostikası
USB Seriyası
Diaqnostik interfeys

SimTech HS-USB NMEA
USB Seriyası
GPS NMEA interfeysi

SimTech HS-USB AT Port
USB Seriyası
AT port interfeysi

SimTech HS-USB Modem
USB Seriyası
Modem port interfeysi

SimTech HS-USB Audio
USB Seriyası
USB Audio Interface

SimTech HS-USB WWAN Adapteri
USB Net
NDIS WWAN interfeysi

Android Kompozit ADB İnterfeysi
USB ADB
Android əlavə debug portu

Yəqin ki, qeyd etdiyiniz kimi, ekran görüntüsündəki portlar arasında USB ADB yoxdur, çünki moduldakı AİB portu standart olaraq bağlıdır və AT+CUSBADB=1' əmrini göndərərək onu aktivləşdirməlisiniz. modulun portunu açın və onu yenidən başladın (bu, 'AT+CRESET' əmri ilə edilə bilər).

Nəticədə cihaz menecerində istədiyiniz interfeysi əldə edirik:

OpenLinux SIM7600E-H modullarının bir hissəsi kimi

Sürücülərlə işimiz bitdi, keçək AİB-ə.

ADB quraşdırılması

Rəsmi Android Developer veb saytına keçin əlaqə. Biz böyük Android Studio-nu endirməyəcəyik; bizə sadəcə “Windows üçün SDK Platforma Alətlərini Yüklə” linki vasitəsilə yükləmək mümkün olan komanda xətti lazımdır.

OpenLinux SIM7600E-H modullarının bir hissəsi kimi

Yaranan arxivi C sürücüsünün kökünə endirin və açın.

Ətraf Mühit Dəyişənləri

Cygwin-i quraşdırdıqdan sonra aşağıdakı ekran görüntüsündə göstərildiyi kimi inkişaf mühiti dəyişənlərinə (Klassik İdarəetmə Paneli → Sistem → Qabaqcıl sistem parametrləri → Qabaqcıl → Ətraf Mühit Dəyişənləri → Sistem Dəyişənləri → Yol → Redaktə) Cygwin/bin/ yolunu əlavə etməlisiniz:

OpenLinux SIM7600E-H modullarının bir hissəsi kimi

Eynilə, yüklənmiş və açılmamış AİB arxivinin yolunu C sürücüsünün kökünə əlavə edin.

OpenLinux SIM7600E-H modullarının bir hissəsi kimi

Bir neçə dəfə OK düyməsini basın və kompüteri yenidən başladın.

Yenidən yüklədikdən sonra, komanda xəttini (Win+R → cmd) açıb 'adb version' əmrini yazmaqla ADB-nin düzgün işlədiyini asanlıqla yoxlaya bilərsiniz. Bu kimi bir şey alırıq:

OpenLinux SIM7600E-H modullarının bir hissəsi kimi

Gəlin modulu PC-yə qoşaq (əgər o, əlaqəni kəsibsə) və ADB-nin onu görüb-görmədiyini 'adb devices' əmri ilə yoxlayaq:

OpenLinux SIM7600E-H modullarının bir hissəsi kimi

Tamamlandı, bu, modulla əlaqənin konfiqurasiyasını tamamlayır və biz modulla işləmək üçün qabığı işə sala bilərik.

OpenLinux SIM7600E-H modullarının bir hissəsi kimi

SDK-nın açılması və tərtib edilməsi

İndi qabığa çıxışımız var və modulun əmr xətti ilə işə başlaya bildik, gəlin modula yükləmək üçün ilk tətbiqimizi tərtib etməyə çalışaq.

Bir çox insan bununla çətinlik çəkə bilər! Çünki Modul Linux əməliyyat sistemində işləyir; Windows altında kodu tərtib edərkən toqquşmaların qarşısını almaq üçün yerli mühitdə - Linux-da tərtib etmək yaxşıdır.

Linux olmadıqda və onu maşınınıza quraşdırmaq istəyiniz olmadığı təqdirdə onu virtual maşına necə quraşdıra biləcəyiniz barədə ətraflı danışmayacağıq. VirtualBox-dan istifadə edəcəyik, Ubuntu 20.04 versiyasını quraşdıracağıq (yazı zamanı hazırkı versiya) və onun altında kompilyatorlar, SDK-lar və s. ilə işləməyə başlayacağıq.

Linux mühitinə keçək və distribyutordan alınan arxivi açaq.

simcom@VirtualBox:~/Desktop/OpenLinux$ sudo tar -xzf MDM9x07_OL_2U_22_V1.12_191227.tar.gz 

Sim_open_sdk qovluğuna gedin və mühiti əlavə edin:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ cd sim_open_sdk
simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ source sim_crosscompile/sim-crosscompile-env-init 

Biz eyni qovluqda qalırıq və orada olarkən sonrakı əmrləri yerinə yetiririk.
Əgər quraşdırılmayıbsa, libncurses5-dev kitabxanasını quraşdırın:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ sudo apt-get update && sudo apt-get install libncurses5-dev -y

Python, əgər o da quraşdırılmayıbsa:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ sudo apt-get install python -y

və gcc:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ sudo apt-get install gcc

Tərtib:

İndi bir neçə faylı tərtib etməliyik, aşağıdakı əmrləri ardıcıl olaraq yerinə yetiririk.

Kompilyasiya zamanı nüvənin konfiqurasiyası pəncərəsi açılırsa, sadəcə Exit seçin və konsola qayıdın; indi nüvəni konfiqurasiya etməyə ehtiyacımız yoxdur.

Biz həyata keçiririk:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make

Yükləyicinin tərtib edilməsi:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make aboot

Kernelin tərtib edilməsi:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make kernel_menuconfig
simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make kernel

Kök fayl sistemini tərtib edin:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make rootfs

Linux istifadəçiləri üçün modul drayverini tərtib etmək aktual olacaq:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make kernel_module

Demo tərtib edək:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make demo

Bundan sonra sim_open_sdk/output qovluğunda bir neçə yeni fayl görünəcək:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ ls output/
appsboot.mbn  boot.img  demo_app  helloworld  system.img

Demo

Demonu modulumuza yükləməyə çalışaq və ondan nə çıxdığını görək.

Download

sim_open_sdk qovluğunda biz demo_app faylını görə bilərik. Biz onu götürürük və modulun qoşulduğu PC-də C sürücüsünün kökünə köçürürük. Sonra Windows əmr satırını işə salın (Win+R -> cmd) və daxil edin:

C:>adb push C:demo_app /data/

Konsol bizə deyəcək:

C:demo_app: 1 file pushed, 0 skipped. 151.4 MB/s (838900 bytes in 0.005s)

Bu o deməkdir ki, fayl modula uğurla göndərilib və bizə sadəcə onu işə salmaq qalır. Gəlin tərəddüd etməyək.

Biz həyata keçiririk:

C:>adb shell

Yüklənmiş faylın hüquqlarını genişləndiririk:

/ # cdhmod 777 /data/demo_app

Və qaçırıq:

/ # /data/demo_app

Eyni konsolda modul bizə aşağıdakıları deyəcək:

SDK_VER : SIM_SDK_VER_20191205
DEMO_VER: SIM_SDK_VER_20191205

Please select an option to test from the items listed below.

1. WIFI                       2. VOICE CALL
3. DATA CALL                  4. SMS
5. WDS(APN)                   6. NAS
7. AT                         8. OTA
9. TTS                        10. GPIO
11. GPS                       12. Bluetooth
13. TCP/UDP                   14. Timer
15. ADC                       16. I2C
17. UIM(SimCard)              18. DMS(IMEI,MEID)
19. UART                      20. SPI
21. Version                   22. Ethernet
23. FTP                       24. SSL
25. HTTP(S)                   26. FTP(S)
27. MQTT(S)                   28. ALSA
29. DEV                       30. AUDIO
31. JSON                      32. LBS
99. EXIT
Option >   

Modulun IMEI-inə baxaq, 7-ni daxil edin (komanda rejiminə keçin) və sonra 5-i daxil edin:

Please select an option to test from the items listed below.

1. WIFI                       2. VOICE CALL
3. DATA CALL                  4. SMS
5. WDS(APN)                   6. NAS
7. AT                         8. OTA
9. TTS                        10. GPIO
11. GPS                       12. Bluetooth
13. TCP/UDP                   14. Timer
15. ADC                       16. I2C
17. UIM(SimCard)              18. DMS(IMEI,MEID)
19. UART                      20. SPI
21. Version                   22. Ethernet
23. FTP                       24. SSL
25. HTTP(S)                   26. FTP(S)
27. MQTT(S)                   28. ALSA
29. DEV                       30. AUDIO
31. JSON                      32. LBS
99. EXIT
Option > 7

Please select an option to test from the items listed below.

1. get Module Version         2. get CSQ
3. get CREG                   4. get ICCID
5. get IMEI                   6. get CIMI
99. back
Option > 5
IMEI: 867584030090489

Please select an option to test from the items listed below.

1. get Module Version         2. get CSQ
3. get CREG                   4. get ICCID
5. get IMEI                   6. get CIMI
99. back
Option >

Bu şəkildə modulun IMEI-ni görəcəyik.

Nəticə olaraq

Ümid edirəm ki, modula necə başlamaq barədə ümumi fikir əldə edə bildik. Növbəti məqalələrdə SIM7600E-H platformasının təmin etdiyi imkanları, həmçinin modulda öz tətbiqinizi uzaqdan necə yeniləyə biləcəyinizi daha yaxından nəzərdən keçirəcəyik.

Sizi şərhlərdə suallar verməyə, həmçinin modulun imkanlarının hansı aspektinin sonrakı məqalələrdə əks etdirilməli olduğunu göstərməyə dəvət edirəm.

Mənbə: www.habr.com

Добавить комментарий