| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| GSM модули http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=18446 |
Страница 1 от 3 |
| Автор: | TheWizard [ Чет Юли 07, 2022 3:17 pm ] |
| Заглавие: | GSM модули |
накратко без много много подробности - пиши го: офис-килър с муза за писане (по памет)... дори и да съм допуснал грешки в обясненията се дължи на ... мързел GSM - вече е синоним на телефон от "дръжка" до смартфон, други разбират 2G, трети GPRS... 1G, 2G, 3G, 4G, 5G, 6G означава Номер Генерация за мобилна връзка и определя максимума услуги и скорост на данни, който хардуера за генерацията трябва да предостави на клиентите Практиката показа, че нито една генерация не напълни на максимума заложените параметри 1G - аналогови мрежи, аналогово радио, аналогов звук 2G - или GSM, общо взето начин с който се предава цифров звук в ефира от клетки до ... дръжки. Как точно работи - не ни интересува за да предава цифрови данни като Факс, Модем... операторите раздаваха втори номер, а телефона използваше CSD ( Circuit Switched Data ), а данните се предават както звука или казано: Това е традиционната форма на модемна комуникация, използвана за пренос на данни чрез GSM мрежа. Не си спомням 2G да е бил клиент на интернет За звук ще спомена само на още на няколко места, по-интересен е Интернет и защото 2G няма Интернет го надградиха с GPRS и стана 2.5G, a цифровите данни "скачат" по свободните от звук канали От тук нататък всички думи като GPRS, LTE... разбирай технология за достигане на максимални параметри наложени от генерацията... най-вече скорост на обмен SMS - е "издънка" в протокола, едно празно място в протокола, които бяха усвоени за прибиране на пари от клиентите 3G - два протокола за звук и данни: по единия върви звук CS ( Circuit Switched ) по другия PS ( Packed Switched ) UMTS и разновидности, a заради скороста се появиха и видео разговори ... стримваше youtube без проблем CSD може да се подържа, но е премахната като "отживелица" 4G - само PS ( Packed Switched ) образно казано всичко е Интернет и Войс Овър Нет LTE - както споменах: технология за достигане на максимални параметри наложени от генерацията LTE-CAT0, CAT1, CAT4 ... CAT666 са КАТегории скорост С появата на понятието IoT и желание да се узвоят пари от индустрията се появиха LTE-CAT-М1 и М2 ... които са LPWA ( Low Power Wide Area ) технология към която спадат и LoRa, Sigfox... общо взето: малка скорост на по-голямо разстояние с по-малка мощност на излъчване ... електромери, водомери, сензори изобщо М1 и М2 са изцяло LTE протокол и са разпространени в USA и други Европа използва NB-IoT ( Narrow Band ) NB-IoT e китайско изобретение, което може да работи САМО без каквито и да е GSM технологи. Усвоен е и се предоставя от GSM оператори с цел да покрият нужди на индустрията NB-IoT не е LTE, ще срещате надпис LTE-NB-IoT и може да ви заблуди LTE се слага отпред за реклама и за това, че работи в обхвата на LTE и/или CAT-M и/или използва части от протокола за ауторизация Радиото му работи на съвсем друг принцип, подобно на LoRa с цел да се увеличи разстоянието с по-малката мощност, за да пази енергията на батерията В GSM мрежата работи или на специализиран канал или в защитните области между каналите на операторите ( от икономическа гледна точка ) Например в България NB се намира на 900 MHz, a там няма LTE, има UMTS, който е стара генерация и не разбира от LTE 5G, 6G и нататък - СКОРОСТ... За нашата специалност прозрачно за нас ни се предоставя Интернет във вид на AT команди или директен достъп до TCP/IP/RAW сокети, HTTP/S и SSL и други "екстри", за Звук, SMS, SIM карти - те са заложени в "ядрото" на GSM технологиата и се поддържат от началото и мисля, че са безинтересни... Повечето модули дават и PPP за външна обработка на TCP/IP Напоследък се наблюдава тенденция за премахване на 2G и 3G дори са премахнати в някой държави - тъй че внимавайте какви модули избирате някъде ще видите модул LTE-NB-IoT-CAT-M-GSM ... избран за нормално LTE и настъпахте мотиката... това означава, че модула подържа: LPWA NB-IoT(Европа) LTE-CAT-M(Щатите) и GSM-GPRS, a за LPWA ви трябва SIM карта, която има правото, чрез друг APN да работи в LPWA мрежата на оператора и ако няма GSM услуга навярно SMS няма да може да изпратите - SMS зависи от оператора, които го махат от LPWA "Зоопарк" от Производителите на модули произвеждат "зоопарк" от модули, които реално зависят от чипсета ( SoC ) сложен под "ламарината" и от SDK-то с което е изграден firmware Масови производители на чипсети са Mediatek, Qualcomm, Huawei и разни по-малки такива. Те не произвеждат физически чиповете, те са продали лиценза и правото на фабрика да произвежда чипа за някой чипове дори са забравили, че съществуват изобщо. Например на Mediatek чиповете ги произвeжда и обслужва Airoha ( GSM, WiFI, BT ) която има и подизпълнители интересното е че като ги попитах ( Airoha ) защо няма чипове те отговориха - ще правим 5G Производители на чипсети са продали или подарили SDK на производителя на модули и тази информация и възможности са "забранени" за нас ( пари и конкуренция ) Повечето SoC подържат и периферия за която дори и не подозирате като LCD, Камера, JPG, MP3, но се орязват подобни екстри от производителите на модули пример: https://www.youtube.com/watch?v=62bWJpoJi-I Повечето съвременни GSM модули предоставят Userware SDK за потребителски приложения изпълними от самия модул без външно управление ( за икономия ), а ВСИЧКИ работят с AT команди дори и "отвътре" Това SDK е базирано на оригиналното С SDK ( чипсет производител ) с което е създадено firmware на модула от производителя на модула и от последния зависи какъв достъп до периферията и услугите на ядрото и GSM модема ви предоставя, общо взето най-необходимото за вашето IoT приложение пример за оригинално SDK: най-разпростанените GPRS модули https://github.com/AIOT-WORKSHOP/AWS_MT2503_SDK примери за клинтско приложения https://www.youtube.com/watch?v=MdGzIl_6uzA https://www.youtube.com/watch?v=XgH9zvNGdGg https://www.youtube.com/watch?v=VnA0EKnP6oQ Userware SDK може да бъде нативно С API мост до оригиналните функции в ядрото или директен достъп с прекомпилирани библиотеки Може да бъде и microPython, JavaScript, Lua и всевъзможни решения Относно хардуера под ламарината 99% е оригинално чипсет решение предоставено от чипсет производителя... плюс минус по-евтин елемент Напоследък повечето чипсети са нормален ARM ( нормално GCC ) плюс "екстри", някога може да "светне" и RISC-V Качеството на модулите - ако имат сертификат се предполага, че са похарчили достатъчно пари за да не се излагат в Европа и Щатите ( всяко правило има изключения ) Цените и support зависят от количеството, които купувате... и те така - ако на някой е в помощ - бира не отказвам |
|
| Автор: | Н'бабане Гт'муан'га [ Чет Юли 07, 2022 6:52 pm ] |
| Заглавие: | Re: GSM модули |
Непременно да дойдеш на бира другата седмица |
|
| Автор: | Nikola Kirov [ Пет Юли 08, 2022 6:50 am ] |
| Заглавие: | Re: GSM модули |
To да се чудиш нова разработка на какъв модул да започнеш |
|
| Автор: | TheWizard [ Пет Юли 08, 2022 8:51 am ] |
| Заглавие: | Re: GSM модули |
Бабане, ще питам жената Киров, в момента в който си помислиш: Ще използвам АТ команди... и избора приключва проблеми има, ако ще "точиш" проекта... АТ командите е технология от миналия век и firmware обработката им е достатъчно осъвършенствана SDK-то с което е билднато firmware e дело на производителя на чипсета, а те не са от вчера на "пазара" В основата на SDK има 99% тествана обработка на всички AT операции Някой пускат модул с "базово" firmware, други преименуват някой AT команди за реклама и добавят някой екстри Крайното firmware е тествано многократно - иначе ще изгубят клиенти и яко ще се изложат, ако нящо не работи естествено се намират и бъгове чат пат, но не е плачевно И друго - 100% от всички модули са с "индустриална насоченост" за работа с АТ команди основно Всички други "екстри" - узер апи сдк, питони и жави са на заден план, щото на производителя на модули им куцат идеите с приложенията на модула през 21 век Обяснявал съм на производители на модули "екстрите" ... |
|
| Автор: | TheWizard [ Пет Юли 08, 2022 9:15 am ] |
| Заглавие: | Re: GSM модули |
ако чипето има ресурси ( рам и ос ) за обработка на АТ команди ето "хубав" сорс за обработка или идея кое как става сорса е от Андроид версии под 3.0 https://github.com/aosp-mirror/platform ... erence-ril там има и един "полезен" сорс ( без malloc ) at_tok - за обработка на стрингове разделени със запетая или друг чар |
|
| Автор: | itso.t [ Пет Юли 08, 2022 9:24 am ] |
| Заглавие: | Re: GSM модули |
Пишеш неясно и двусмислено. Обикновено "хубав" = лош, а "полезен" = безполезен. Та, какво всъщност си написал? |
|
| Автор: | TheWizard [ Пет Юли 08, 2022 9:35 am ] |
| Заглавие: | Re: GSM модули |
под "хубав" разбирай многократно тестван ... от Андроид джаджи на мен лично горния сорс ми е вършил добра работа по-принцип обработка на 90% от АТ командите в просто супер-луп приложение не кой знае каква сложност пращаш, чакаш, приемаш, проверяваш, действие обаче има едни отговори - URC ( Unsolicited Result Code ) или асинхронен колбак от уарта и ако тръгнеш и тях да обработваш в луп приложение, обикновено става мазало та горния пример дава добра представа: как |
|
| Автор: | dumfree [ Пет Юли 08, 2022 10:02 am ] |
| Заглавие: | Re: GSM модули |
При GPRS (може и при следващите поколения) има един ефект, който не ми е съвсем ясен. Има пусната сесия за данни, модема (в случая тракер) се разхожда в даден район и няма проблем (определено сменя базови станции в този район) Но на определени места връзката се прекъсва и модема някакси не се усеща да се презакачи отново за данни, обхват определено има. По-точно усеща се, но след доста дълго време (минути или часове). Това май по-скоро е проблем на този който управлява модема, да се усети че няма никой и да направи каквото трябва. |
|
| Автор: | TheWizard [ Пет Юли 08, 2022 10:32 am ] |
| Заглавие: | Re: GSM модули |
познат "дефект" по принцип GSM трябва да даде реакция с URC ( разширени такива ) в ядрото се получават съобщенията какво се е случило и причината - загуба на обхват, загуба на оператор, загуба на data-call, загуба на сокет но дали са включени всички реакции в АТ стека е друг проблем логиката е обратна на действията сим, мрежа, дейта-кол, сокет ако сокета "умре" ще даде грешка при send (след таймаут) ... реконект сокет ако data-call "умре" сокета ще "умре", а data-call ще реагира в callback (след таймаут) ... реконект това и горното ако мрежа/сим - горните две ще реагират крайно решение е таймаут реконект/ресет когато си "чешех крастата" да интегрирам Ардуино вътре в модул си играх много да "нацеля" точна логика и колбаци за тези неща и трябваше да се съобразявам да става auto и лесно за потребителя в смисъл и стил на Ардуино |
|
| Автор: | miro_atc [ Пет Юли 08, 2022 10:41 am ] | |||||||||
| Заглавие: | Re: GSM модули | |||||||||
Че е стара технология... стара си е. Но най-интересните моменти така и не се стандартизираха и едни и същи мотики продължават да се настъпват. Същото го наблюдавам и при други технологии. Примерно в момента боря един ESC/pos принтер... ми сякаш е правен от студент дето е преписвал ESC командите без изобщо да схване как трябва да работят и да се ползват. За АТ командите нямам идея какво ползват за основа, но видимо се повтарят едни и същи бъгове и то при различни производители. Примерно загубата на непрочетени данни при затваряне на сокет. Това карахме едни да си го оправят, наскоро колегата подкара един сравнително нов модул на quectel и същата мотика. Другата мъка беше с нотификациите. Първите модули (телетата) си ги праскаха както им дойде и когато им дойде. Че било в средата на данни хич не им пука. После лека полека спряха да ги смесват с данните, но беше голяма мъка докато ги оформят така, че да се разпознава лесно дали ти отговаря на някоя команда или ти вкарва нотификация някаква. После беше борбата с отварянето на няколко сокета едновременно. И там бая мотики имаше... Та с две думи като идея АТ командите не са лоша идея, ама реализацията винаги всеки си я прави както му дойде. И при всеки модул логиката е различна. Ако някой иска с bare metal да поддържа различни модули не мисля, че ще му е лесно. При нас е отделен стек с драйвери и пак не е лесно, но поне е възможно и става... |
||||||||||
| Автор: | TheWizard [ Пет Юли 08, 2022 11:01 am ] | |||||||||
| Заглавие: | Re: GSM модули | |||||||||
де бе, верно ли по стандарт трябва да е в началото или до 300 мс в края със сокети ги има мотиките навсякъде решението трябва да се търси в асиннхронна/синхронна конекция, обикновено използват синхронна с таймаут и се "оправдават" със 120 сек таймаут то попринцип тези неща са зададени в SDK на SoC и много много не ги барат тези дето пишат firmware затова се чоплех отвътре - по добре да си напиша решението за lwIP от колкото да разучавам какво са искали да кажат с еди кое си BTW: Миро, мисли как работи lwIP ( повечето нови ) и ако не работи така - има бъг/мотика и друго - при GSM, сигурен прост сокет - няма гаранция |
||||||||||
| Автор: | miro_atc [ Пет Юли 08, 2022 11:38 am ] | |||||||||
| Заглавие: | Re: GSM модули | |||||||||
Въпросът е принципен. Без значение какво е API-то трябва да имаш сигурен начин да се разбираш с модема. Както бяха първите (вече не помня телит или телтоника, а може и двете да бяха), тръгваш да четеш данни от сървъра, онова прекъсва данните и вмъква нотификация. Съответно трябва да си сканираш данните, само че ако данните могат да съдържат нещо наподобяващо нотификация си става манджа с грозде. Слава Богу от години престанаха с тая глупост. Пускаш команда "АТ+CMDXX", то трябва ти отговори "+CMDXX... отговор". Все още някои не стандартизират, демек при една команда отговорът започва по един начин, при друга по друг. Но поне може да се ориентираш дали е отговор или нотификация. Относно самото API... Под lwip предполагам разбираш berkeley sockets. И при мен това си е крайната цел. Всичко накрая изглежда като сокети, без значение дали е gsm/gprs дали е WiFi или етернет. Приложенията винаги работят със сокета и никога не се интересуват какъв е точно интерфейса. Въпросът е, че сокет API-то ти е по дефиниция локално, демек на контролера на който е и приложението. Ако ползваш самия модул и като хост, то може да си спестиш АТ-командите и директно да викаш lwip или там какъвто стек има в модула. Но при мен тоя сценарий не е особено подходящ. Процът винаги е отделен и си комуникира с каквото му закачиш. Та няма как да се ползва API, трябва си протокол някакъв... И като цяло АТ команди/протокол не е лош, стига да е имплементиран смислено от страна на модула |
||||||||||
| Автор: | TheWizard [ Пет Юли 08, 2022 12:52 pm ] |
| Заглавие: | Re: GSM модули |
прав си - зоопарк производители... Какво има под капака на GSM SoC ( чипсет ) Хардуер: - Модем процесор обикновено DSP ( +- FPGA ) с DSR радио или казано накратко: модем - мен лично тази "кутийка" не ме интересува. В тази "кутийка" понякога слагат и GSM стека за по-бързо да стават нещата - Аплицационен процесор APP ( минимим един ) ARM всевъзможни весии, чат-пат MIPS, в бъдеще може и RISC-V. Този е поле за действие на firmware девелопърите ( модул производител ) на база SDK ( чипсет производител ) Връзката между двате ядра е или жица(старо) или регистър(ново) за RPC обмен на съобщения и структури данни между тях - и разни всевъзможни хардуерни "кутиики" като FLASH, RAM, стандартни периферии ( APP ARM ) и хардуерни ускорители за LCD, камери, JPG и видео... Този SoC не е мислен за модул, Мислен е за пълноценна "шарена дръжка" или wearable приложение ( часовници, фитнес тракери... ) това, че някой го използва за 2 жици AT команди си е негов проблем и на тези след него Софтуер: ако разгледате SDK на ESP32 е ... същото - RTOS, драйвери, стекове, апликации Старите GSM използват най-различни RTOS и стекове на отдавно забравени по-по-най платени софтуерни фирми. В момента нещата са: FreeRTOS ( или подобна ) за "слаби" GSM, или ThreadX или Linux/Android за от 4G нагоре модули Ако ОС е FreeRTOS подобна, следва: lwIP, mbedTLS и целия "зоопарк" INIT на ARM, модем, OS, драйвери и периферии ... Main таск и всевъзможни таскове за протоколи и услуги Връзката между таскове е messages & task queue Един от тасковете е обработката на AT команди на база RPC и мулти-таск обмена на съобщения и параметри АТ командите се обработват от масив[n] структури { AT-STRING, параметри и callbacks } а начина за обработка е SDK определена Някъде, може да бъде стартиран и таск за за изпълнение на user application вътре в модула и те така |
|
| Автор: | Nikola Kirov [ Пет Юли 08, 2022 1:47 pm ] | |||||||||
| Заглавие: | Re: GSM модули | |||||||||
Тия неща с управлението са изциклени отдавана. Въпроса е че нали все разправят че ще закриват 2 и 3G то. |
||||||||||
| Автор: | TheWizard [ Пет Юли 08, 2022 2:28 pm ] |
| Заглавие: | Re: GSM модули |
мен ако питаш: хвърляш на боб или залагаш на LTE да спиш спокойно САЩ и Китай се пънят нагоре с G Индия и Пакистан са в основа 2G Англия заяви след 10 години Европа - майка плаче България - трима оператора. ако един закрие другите ще са на плюс политика, чипове и най-вече едни много пари определят нещата... |
|
| Страница 1 от 3 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|