OpenLinux в составе модулей SIM7600E-H



    Механизм разработки пользовательского приложения и загрузки его в модуль доступен как под операционной системой Linux, так и Windows. В данной статье мы подробно рассмотрим то, как воспользовавшись примерами из SDK предоставляемого SIMCom Wireless Solutions скомпилировать и загрузить пользовательское приложение в модуль.

    Перед написанием статьи один мой знакомый, далекий от разработки под Linux, попросил максимально детально подойти к вопросу описания процесса разработки собственного приложения под модуль SIM7600E-H. Критерием оценки доступности подачи материала стала фраза «так чтобы Я понял».

    Приглашаю ознакомиться с тем, что получилось.
    Статья регулярно дополняется и обновляется


    Прелюдия


    Обычно модули сотовой связи используются только для передачи данных, голосовых вызовов, передачи СМС и подобного. Все это делается посредством АТ-команд, отправляемых с внешнего управляющего микроконтроллера. Но есть категория модулей, которые позволяют выполнять пользовательский код, загружаемый извне. В некоторых случаях это значительно сокращает общий бюджет устройства позволяя поставить на плату более простой (а равно бюджетный) микроконтроллер или отказаться от него вовсе. С появлением LTE модулей, управляемых ОС Android или Linux и их мощными ресурсами, можно решать любые задачи, которые доступны популярным процессорам. В этой статье пойдет речь о SIM7600E-H, управляемый ОС Linux. Мы рассмотрим, как загрузить и запустить исполняемое приложение.

    Во многом материал базируется на документе “SIM7600 Open Linux development quide”, но некоторые дополнения и в первую очередь русскоязычная версия будут полезны. Статья поможет разобраться тем, кто только начинает освоение модуля дойти до загрузки демонстрационного приложения и даст необходимые навыки для последующей работы.

    Коротко о том, кто такой SIM7600E-H


    SIM7600E-H – это модуль построенный на базе процессора ARM Cortex-A7 1.3GHz от Qualcomm, имеющий операционную систему Linux (ядро 3.18.20) внутри, способный работать с европейскими (в т.ч. и российскими) диапазонами частот 2G/3G/LTE, поддерживающий Cat.4, обеспечивающий максимальную скорость скачивания до 150Mbps и выгрузки до 50Mbps. Богатая периферия, индустриальный температурный диапазон и наличие встроенной навигации GPS/ГЛОНАСС перекрывают любые требования к современному модульному решению в М2М тематике.

    Обзор системы


    Модуль SIM7600E-H базируется на операционной системе Linux (ядро 3.18.20). В свою очередь, файловая система построена на базе журналируемой файловой системы UBIFS (Unsorted Block Image File System).

    К важным особенностям этой файловой системы относятся:

    • работает с разделами, позволяет создавать, удалять, или менять их размер;
    • обеспечивает выравнивание записи по всему объему носителя;
    • работает с Bad-блоками;
    • минимизирует вероятность потери данных при аварийном отключении питании или других сбоях;
    • ведение журналов.

    Описание взято отсюда, там же более подробно рассказано о таковой файловой системе.

    Т.е. данный тип файловой системы идеально подходит для жестких условий работы модуля и возможных проблемах с питанием. Но это не значит, что условия нестабильного питания будут являться ожидаемым режимом работы модуля, это говорит только о большей жизнеспособности устройства.

    Память


    Распределение областей памяти построено следующим образом:



    Нужно выделить три основных области:

    ubi0:rootfs – доступен только для чтения и содержит само ядро Linux
    ubi0:usrfs – используется преимущественно для пользовательской программы и хранения данных
    ubi0:cahcefs – зарезервировано для FOTA обновлений. Если доступного пространства будет недостаточно для загрузки обновления – система удалит неиспользуемые файлы и таким образом высвободит место. Но из соображений безопасности – не стоит располагать там свои файлы.

    Все три раздела распределены следующим образом:
    Filesystem Size Used Available Use% Mounted on
    ubi0:rootfs 40.7M 36.2M 4.4M 89% /
    ubi0:usrfs 10.5M 360K 10.1M 3% /data
    ubi0:cachefs 50.3M 20K 47.7M 0% /cache

    Доступная функциональность


    Как уже было упомянуто выше, модуль построен на базе чипсета Cortex A7 от Qualcomm. Было бы неправильно не предоставить такое высокопроизводительное ядро для обработки пользовательской программы и разгрузки основного процессора устройства, переложив на модуль некоторую часть программы.

    Для пользовательской программы нам будут доступны следующие режимы работы периферии:
    Pin No. Name Sys GPIO No. Default action Func1 Func2 Pull Wakeup interrupt
    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-Card - - B-PD -
    22 SD_DATA0 - SD-Card - - B-PD -
    23 SD_DATA1 - SD-Card - - B-PD -
    24 SD_DATA2 - SD-Card - - B-PD -
    25 SD_DATA3 - SD-Card - - B-PD -
    26 SD_CLK - SD-Card - - 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 DCD - 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 -


    Согласитесь, перечень внушительный и обратите внимание: часть периферии используется для работы модуля в качестве роутера. Т.е. на базе такого модуля можно сделать небольшой роутер, который будет раздавать интернет по Wi-Fi. Кстати, есть уже готовое решение, называется SIM7600E-H-MIFI и представляет собой miniPCIE карточку, с напаянным модулем SIM7600E-H и несколькими антенными выводами, один из них является антенной Wi-Fi. Впрочем, это уже тема для отдельного материала.

    Среда (не день недели)


    SIMCom Wireless Solutions предоставляют возможность разработчикам выбрать самостоятельно наиболее знакомую среду разработки под Linux или Windows. Если речь идет об одном исполняемом приложении на модуле, то лучше выбрать Windows, так получится быстрее и проще. Если предполагается сложная архитектура приложения и последующие апгрейды – лучше использовать Linux. Также нам потребуется Linux для компиляции исполняемых файлов для последующей загрузки в модуль, для компиляции вполне достаточно виртуальной машины.

    Из того что вам потребуется, недоступного для скачивания в свободном доступе – SDK, которую можно запросить у своего дистрибьютора.

    Установка утилит для работы с модулем


    Здесь и далее мы будем работать под Windows как наиболее знакомой ОС большинству пользователей.

    Нам потребуется за несколько простых шагов установить необходимое ПО для последующего освоения работы с модулем:

    1. GNU/Linux
    2. Cygwin
    3. Драйвера
    4. ADB

    Установка GNU/Linux


    Для сборки приложения можно воспользоваться любым совместимым с ARM-Linux компилятором. Мы же воспользуемся SourceryCodeBenchLiteARM GNU/Linuxtranslater доступным для скачивания по ссылке.

    Чтобы все компоненты были установлены верно, оставлю несколько скриншотов процесса установки. В принципе, в установке нет ничего сложного.

    Чтобы все компоненты были установлены верно, оставлю несколько скриншотов процесса установки. В принципе, в установке нет ничего сложного.
    1. Принимаем лицензионное соглашение
    2. Указываем папку установки
    3. Необходимые компоненты оставляем без изменений
    4. Оставляем как есть
    5. Несколько раз “Next”, “Install” и в принципе все


    Установка Cygwin


    Далее для разработки на потребуется набор библиотек и утилит из набора предоставляемого Cygwin. Тут все просто, актуальную версию Cygwin можно скачать бесплатно на официальном сайте проекта, на момент написания статьи была доступна версия 3.1.5, ее мы и использовали при подготовке материала.

    В установке Cygwin нет ничего сложного, единственное что нужно будет выбрать – зеркало, с которого установщик скачает необходимые файлы, выбираем любое и устанавливаем, а также набор утилит и библиотек, оставляем выбранными все доступные библиотеки и утилиты.

    Установка драйверов


    После того, как модуль будет подключен к ПК потребуется установить драйвера. Их можно запросить у своего дистрибьютора (рекомендуется). Искать в сети Интернет самостоятельно не рекомендую, т.к. может потребоваться много времени на поиск с чем был связан конфликт устройств.



    Среди выделенных портов мы видим следующие:
    Windows Linux Описание
    SimTech HS-USB Diagnostics USB Serial Diagnostic Interface
    SimTech HS-USB NMEA USB Serial GPS NMEA Interface
    SimTech HS-USB AT Port USB Serial AT port Interface
    SimTech HS-USB Modem USB Serial Modem port Interface
    SimTech HS-USB Audio USB Serial USB Audio Interface
    SimTech HS-USB WWAN Adapter USB Net NDIS wwan Interface
    Android Composite ADB Interface USB ADB Android add debug port

    Как вы наверняка обратили внимание, среди портов на скриншоте нет USB ADB, это по причине того, что ADB порт в модуле по умолчанию закрыт и его нужно включить, отправив команду ‘AT+CUSBADB=1’ в АТ-порт модуля и перезагрузить его (это можно сделать командой ‘AT+CRESET’).

    В итоге получим нужный интерфейс в диспетчере устройств:



    С драйверами закончили, переходим к ADB.

    Установка ADB


    Заходим на официальный сайт Android Developer по ссылке. Не будем качать громоздкий Android Studio, нам достаточно командной строки, доступную для скачивания по ссылке «Download SDK Platform-Tools for Windows».



    Качаем и распаковываем полученный архив в корень диска C.

    Переменные среды


    После установки Cygwin потребуется добавить путь Cygwin/bin/ в переменные среды разработки (Классическая Панель управления → Система → Дополнительные параметры системы → Дополнительно → Переменные среды → Системные переменные → Path → Изменить) так как показано на скриншоте ниже:



    Аналогичным образом добавляем путь к скачанному и распакованному архиву ADB в корень диска C.



    Несколько раз нажимаем ОК и перезагружаем компьютер.

    После перезагрузки можно легко проверить корректно ли работает ADB, открыв командную строку (Win+R → cmd) и набрав команду ‘adb version’. Получим примерно такой результат:



    Подключим модуль к ПК (если так случилось что отключили) и проверим видит ли его ADB командой ‘adb devices’:



    Готово, на этом настройка подключения к модулю завершена и мы можем запустить shell для работы с модулем.



    Распаковка и компиляция SDK


    После того как мы получили доступ к shell и можем начать работу с командной строкой модуля, попробуем скомпилировать наше первое приложение для загрузки в модуль.

    С этим у многих могут возникнуть сложности! Т.к. модуль работает на операционной системе Linux, во избежание коллизий при компиляции кода под Windows – лучше всего компилировать в родной среде – Linux.

    Не будем подробно останавливаться на том, как в отсутствие Linux и желания устанавливать его на свою машину, можно установить его на виртуальную. Мы же воспользуемся VirtualBox, установим Ubuntu версии 20.04 (актуальная версия на момент написания статьи) и уже под ней начнем работу с компиляторами, SDK и т.п.

    Переходим в среду Linux и распаковываем архив, полученный от дистрибьютора.

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

    Переходим в каталог sim_open_sdk и добавляем окружение:

    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 

    Остаемся в этой же папке и последующие команды выполняем находясь в ней.
    Устанавливаем библиотеку libncurses5-dev, если она не была установлена:

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

    Python, если он так же не был установлен:

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

    и gcc:

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

    Компиляция:


    Теперь нам потребуется скомпилировать несколько файлов, последовательно выполняем следующие команды.

    Если при компиляции выскочит окно настройки ядра – просто выбираем Exit и возвращаемся в консоль, у нас сейчас нет необходимости конфигурировать ядро.

    Выполняем:

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

    Компилируем bootloader:

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

    Компилируем ядро:

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

    Компилируем корневую файловую систему:

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

    Для пользователей Linux будет актуальным скомпилировать драйвер модуля:

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

    Скомпилируем демо:

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

    После чего в директории sim_open_sdk/output появится несколько новых файлов:

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

    Демо


    Попробуем загрузить демонстрацию в наш модуль и посмотрим, что из этого получится.

    Загрузка


    В директории sim_open_sdk мы можем увидеть файл demo_app. Забираем его и переносим в корень диска C на ПК к которому подключен модуль. После чего запускаем командную строку Windows (Win+R -> cmd) и вводим:

    C:\>adb push C:\demo_app /data/

    Консоль нам сообщит:

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

    Это значит, что файл был успешно отправлен на модуль и нам остается только запустить его. Не будем медлить.

    Выполняем:

    C:\>adb shell

    Расширяем права загруженного файла:

    / # cdhmod 777 /data/demo_app

    И запускаем:

    / # /data/demo_app

    В этой же консоли модуль нам сообщит следующее:

    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 >   
    

    Давайте посмотрим IMEI модуля, введем 7 (переход в командный режим) и после введем 5:

    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 >
    

    Таким образом мы увидим IMEI модуля.

    В качестве заключения


    Надеюсь, нам удалось составить общее представление о том, как начать работу с модулем. В следующих статьях мы подробнее рассмотрим возможности, которые предоставляет платформа SIM7600E-H, а также то, каким образом можно удаленно обновить собственное приложение в модуле.

    Приглашаю задавать вопросы в комментариях, а также указать какой аспект возможностей модуля следует отразить в последующих статьях.
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 33

      +1

      А есть возможность выкинуть старое ядро и SDK на мороз и начать жить с нормальным buildroot/yocto project?

        –1
        Понял что толком не ответил на вопрос.
        Yocto можно, но нужно ли?
          0

          Йокта дает свежий GCC/libc, а не этот привет из 2010х

            +1
            Мы уже внутри себя посовещались и решили, что в четвертой части статьи осветим тему с Yocto.
          0
          Сама прошивка собирается при помощи yocto. Ядро, естественно не ванильное, а пиленное квалкомом для андроид. Из mainline квалком выпилили, так как никто не хотел поддерживать это г ветку mach-msm. Ну и в rootfs модема куча проприетарных вещей, можно погуглить на эту тему Dissecting modern cellular modems, ну и по osmocom прогуляться.
            0
            Воу-воу-воу, ребят, полегче.
            Основной посыл статьи — дать в ручки начинающих волшебный инструмент-помощник типа: прочитал -> проследовал по инструкции -> оно работает. В более глубокие дебри мы еще успеем забраться.
          0
          А смысл? Тогда придется заниматься полной переделкой сотовой части.
          Это в первую очередь сотовый модуль, да с очень широкими возможностями, но все же модуль, а не одноплатник и отдельный процессор.
            0

            А зачем собирать ядро, rootfs (а тем более appsboot), если конечная цель — сборка user mode приложения? Вы же их никак не использовали в итоге.

              0
              См. заключение. Это основа для последующих статей, где мы рассмотрим как управлять GPIO, USB OTG, сделать ОТА обновление и т.п.
              0
              А как в этом модуле gsm-часть соединена с процессором, не через UART же?
                0
                Примерно вот так:

                Ядро управляет трансивером, отсюда некоторые сложности со сборкой Yocta.
                Если нужна более подробная информация — лучше напишите мне в личку, обсудим.
                  0

                  Там «процессор» и «gsm-часть» в одном чипе (фактически это просто разные ядра многоядерной системы), у них общая DDR память, в которой на личные нужды модема выделена изолированная от Linux область, а общаются они напрямую через общие буферы (ну и сигналы между ядрами). Собственно всё так же, как в большинстве Андроид-смартфонов.

                  0
                  Извините, я правильно понял, что на одном этом чипе (1,3ГГц, 256 памяти) можно построить мобильник уровня начала 2010х?
                    0
                    Если очень упрощенно, то да.
                      0
                      А так делать надо? Насколько я помню архитектуру старых мобильников, там было несколько чипов, которые большую часть времени спали: для связи, чтобы послушать музыку и выполнить пару housekeeping задач, а когда требовалось включение экрана и взаимодейтсвие с пользователем, просыпался относительно мощный проц общего назначения. Если делать на одном SoC, то тогда заснуть совсем он не сможет, только частоту снизить, да и то не до единиц мегагерц.
                        0
                        В чем заключается вопрос? Требуется снизить энергопотребление модуля?
                          0
                          Чтобы опять не было XY problem: мне не нравятся существующие мобильные решения и я хочу сделать себе носимый миникомпьютер на одноплатнике с линуксом, который умеет звонить, принимать/посылать смс, подключаться к интернету через опсоса. Я не понимаю, как его сделать с минимальным энергопотреблением. Спектр задач можно условно разделить 3 группы:
                          1. Звонки и смс
                          2. J2ME задачи — чтение книг, прослушивание музыки
                          3. Десктопные задачи
                          Поскольку я почти ничего не знаю про практику использования littleBIG процов и современные подходы к проектированию носимой электроники, я думал просто поставить несколько процессоров по типам задач. Насколько такой подход оправдан?
                            0
                            Если это DIY проект, то лучше всего взять что-нибудь вроде RPi, прикрутить к нему тач экран, плату с модулем и не мучиться. Можно рассмотреть готовые отладки на базе процессоров от TI, есть даже готовые скорпусированные планшеты от них же. Но это будет гробик на колесиках, к нему еще потребуется пудовый аккумулятор.

                            Поверьте, одно время я как и вы хотел решить примерно такую же задачу, но сопоставив скорость развития технического прогресса, трудозатраты и время на разработку с желаемым результатом понял, что планшет с поддержкой DeX лично для меня будет лучшим решением. Остальное — компромисс.
                              0
                              Видимо, у меня неприятие выражено острее, потому что мне не нравится примерно всё:
                              1. Лицензионное соглашение Android и iOS
                              2. Формфактор
                              3. Стремление создать собственную, мало с чем совместимую экосистему
                              4. Одновременно куча лишних для меня функций и отсутствие расширяемости
                              Я понимаю, что тут ничего коренным образом не изменится, а скорее будет прогрессировать, но и таскать в кармане телефон на Symbian Belle поднадоело. Разработка, если и завершится чем рабочим, не будет коммерческой, просто мотому что я никакой продаван.
                                0
                                Надеюсь ваша мечта свершится. Поделитесь пожалуйста потом тем что получилось.
                                  0
                                  Эт само собой, с детства хвастлив :) А если чуть серьёзнее: как посоветуете, однопроцессорная или многопроцессорная схема?
                                    0
                                    Я могу посоветовать как минимум начать.
                                    Однозначно ответить по какой схеме пойти сейчас не могу, т.к. надо освежить в памяти что сейчас есть из актуального многоядерного или интересных сопроцессорров, а это несколько не мой рынок.
                                    Мы сейчас выходим за рамки темы статьи, предлагаю переместить диалог в личку.
                    0

                    Только купил 7600 себе на проект, не думал что вы есть на хабре. Не можете осветить минимальное решение для этого модема, чтоб шарить интернет по вафле? Хочу в корпус старого мобильника затолкать 3G роутер самодельный с возможностью раздачи интернета вокруг, при этом не портя корпус.

                      0
                      А не проще взять SIM7600E-H-MIFI? Правда это карточное решение, но в нем сразу есть и W-Fi до 8 клиентов. По сути — готовый роутер.
                      Либо подключить W58 к SIM7600E-H и сделать примерно тоже самое, но уже на базе отдельных модулей.
                        0

                        Карточное, к сожалению, громоздкое и плохо совместимо с 8-битками, а вот W58+7600 уже получше, но вопрос, по большей части даже, встает про программную часть — каким образом делать роутинг и давать доступ клиентам.


                        Я думаю что такой кейс будет интересен и полезен читателям, а в интернете я таких решений не видел на вскидку (смотрю конечно на решения аля STM или AVR).

                          0
                          Есть такой документ: SIM7600M22_MIFI_Application Note_V1.00 (можно дернуть у дистрибьютора), там подробно описывается как с помощью одних АТ-команд все настроить и раздавать интернет по Wi-Fi. Еще у дистрибьютора можно будет взять референс и буквально на коленке собрать плату мини-роутера.
                            0

                            Спасибо за наводку, буду курить маны (:

                        0

                        По интерфейсу SDIO подключаете ESP8089 (ESP8266) и настраиваете в пингвине hostapd

                        0
                        А есть такой но без крыльев попроще? Задача — простые интернет устройства. Чтобы нормально работала GSM часть, пусть на проприоретарном коде, но можно было через нормальный SDK все это программировать по примеру ESP8266/ESP32
                        А то M7 явно избыточен для многих задач
                          +1
                          Есть конечно!
                          SIM7600E-H — это топчик среди скоростных LTE решений. Есть похожие решения для 2G, для NB-IoT и других, на них так же можно выполнять пользовательский код. Статьи на тему разработки пользовательского приложения для 2G модулей были, можно запросить у дистрибьютора или написать нам (можно даже на русском, только сделать пометку: «for RUS_Team», письмо быстрее доберется до русской команды). Статья по разработке пользовательского приложения для NB-IoT модулей намечена к публикации на третий квартал 2020.
                          0
                          Спасибо автору за интересную статью. Планируется ли в дальнейшем написание статей по OpenLinux для SIM7600? В свое время присматривался к OpenLinux для SIM5360, но из-за отсутствия толковой документации и среды разработки — не решился внедрять в проект. Пришлось ставить мощный микроконтроллер и всю логику работы организовывать на нем. Интересен вопрос — можно ли OpenLinux прикрутить к какой-то среде разработки, допустим MS Visual Studio 2019 и уже в ней создавать и отлаживать программное обеспечение?
                          С другой стороны почему SDK нет в свободном доступе и необходимо просить у дистрибьютера, который частенько отказывает в решении вопроса. Было бы не плохо где-то выложить SDK, свежие прошивки…
                            0
                            Как я уже говорил: да, планируется еще три статьи на тему OpenLinux в модулях SIM7600E-H. Надеюсь в ближайшие пару недель выложить вторую часть.
                            Прямой поддержки какой бы то ни было среды разработки нет.
                            Насколько мне известно, еще ни разу дистрибьютор не отказал в том чтобы поделиться SDK, обычно они просят только информацию о проекте, не более.
                              0

                              Здравствуйте!
                              Наткнулся на вашу статью.
                              Очень заинтересовали следующие статьи цикла — как раз сейчас пытаюсь поднимать OpenLinux, и пока что не очень получается.
                              Есть ли надежда их в ближайшее время увидеть? :)


                              P.S. Извините за задвоенный комментарий, случайно отправил после первой строчки.

                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                          Самое читаемое