Отговори на тема  [ 6 мнения ] 
Настройка/ъпдейт през PC и телефон 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Мар 16, 2006 9:42 am
Мнения: 12097
Местоположение: Гьотеборг
Мнение Настройка/ъпдейт през PC и телефон
Засега това е само идея, след като гледах, че Комет продават
модулите на Espressif и High-flying electronics...
В момента си имаме приложение с което правим допълнителни настройки и ъпдейт на някои от модулите ни, но всичко става чрез FTDI USB - RS232/RS485 кабел/адаптер. Идеята е да го правим безжично, имаме си радио и контролер който има и Bluetooth възможност, но според мен "външна" опция ще е по-добре от комбиниране на всичко в едно, но затова ще ни трябва по-голям контролер... Хардуерно е възможно това даже да е направено като отделен адаптер. Допълнителна екстра е ако модула е инсталиран постоянно, да бъде и монитор на SPI, I2C - освен UART-a.

- Единия начин е предполагам предварително да се "стиковат" Tx и Rx модула, и да са напълно прозрачни, т.е. да заместват кабелa (дали ще е Bluetooth, WiFi или нещо друго няма особено значение / нито файловете, нито настройките са нещо голямо и сложно).

- Другия начин е безжичния модул в крайното устройство да се открива от всеки телефон(iPhone, Android) или компютър (PC, Mac, Linux), разбира се ще има някакво секюрити или дори хардуерен начин да се пуска или спира функцията. Генериране на страница с опциите и т.н. мисля че може да е бъдеща опция.

Някой има ли опит в писането/дописването на подобни приложения - предполагам, че не е толкова сложно, но е винаги по-добре когато някой вече е настъпил мотиките и има желание да сподели как става, или пък ако има свободни ресурси дори да повтори упражениението.


Чет Ное 22, 2018 11:30 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 1:59 pm
Мнения: 3867
Местоположение: Габрово
Мнение Re: Настройка/ъпдейт през PC и телефон
Прозрачният вариант не го препоръчвам когато има безжични, а може и глобални (интернет) комуникации. Причината е че през усб често си позволяваме да търкаме и флашим. При отдалечен, или Over-the-Air ъпдейт има 99% шанс нещо да прекъсне. По тази причини повсеместно OTA се прави през второ копие на фирмуера - някакъв сторидж (SPI flash, карта, или ако е esp има достатъчно място в неговия флаш/файлова система) в който незабелязано (докато основния процесор си работи с основния фирмуер) се налива нова версия. После по команда или при рестарт основния проверява наличието, валидността и подписа на евентуално наличния втори - ако има такъв и го устройва си го изфлашва (примерно копира от SPI флаш във вътрешния на пик-чето/стм-чето).
Мониторинг на бъсове, трейс и подобни са отделна екстра. Често се прилага подхода да има възможност за добро логване (примерно ротиращо помнейки последните 2Мбайта от дърдоренето), или конфигурируемо като "софтуерен" осцилоскоп - с тригер, пре- и пост- буфер и т.н.
Всъщност стратегията за мениджмънт на отделните нодове, или things е първото което трябва да се измисли. Това включва и fw ъпдейт, и конфигуриране, и следене/диагностика. Разнити облачни услуги се опитват да предложат точно такава пълна симбиоза от всичко, което може да ти потрябва за да управляваш флотилията си от устройства. Там разните нива на доставчици, всеки от които може да пипа някой неща, но и да ползва наготово от по-горния.
Преди години имаше интервю с началник от циско по темата - той споделяше че вече има опит с няколко десетки милиона устройства и основния проблем е бил т.нар. "provisioning" - как да стане така че като си купиш отнякъде устройството да можеш да го настроиш в твоята мрежа, да го регистрираш, да го достъпваш, те да могат да правят туй-онуй с него, да сменят софтуер.

Та пак на темата - един от вариантите, които съм правил и ще опиша накратко, беше за устройства които имаха само блутут (нямаха интернет свързаност).
Там номера е че за работата с тях си има приложение - за андроид и iOS, евентуално за PC но това рядко се търси вече. Това приложение се възползва от механизмите на андроидския магазин за да бъде винаги ъпдейтнато. А в себе си то носи една или повече версии на фирмуера - криптирани. Повече в смисъл че ако има няколко hw ревизии може да има тотално различни фирмуери, или видове устройства.
Оттам при свързване към устройство приложението проверява каква е версията и дали знае за по-нова, и предлага ъпдейт. Фирмуерът се прехвърля във външен флаш (SPI) в криптирания си вид. След завъшване се прави рестарт на устройството и първо тръгва бутлоадъра. Ако намери нов фирмуер в партишъна за тази цел го проверява (чексуми, подпис) и го програмира във програмната памет на микроконтролера.
Този механизъм работи добре, понеже често новата версия на фирмуера има нови възможности, които изискват и нов код в приложението.

Едит: другите неща които намесваш трябва да се разглеждат отделно. На пръв поглед модулите с esp32 които са с PSRAM би трябвало да са доста подходящи за тази работа - в смисъл рам-а ще е добър за временен буфер - на фирмуер, трейс/лог, капчър на данни или каквото там си поискаш.
Като цяло бих ти препоръчал да поразгледаш какво правят разните фирми дето с това се борят - има такива device console-и, които поддържат всичките джунджурии, а и сигурно повече. Имам предвид облак и всичко дето иначе трябва да го мислиш.
Като пример за нещо добре измислено мога да ти посоча mongoose-iot. Мисля че българите дето правят някакви контакти с есп ползват тях. Услугата е платена за комерсиални цели, но това си е напълно нормално:
https://mongoose-os.com/
https://dash.mongoose-os.com/
https://mongoose-os.com/docs/mdash/intro.md


Нед Ное 25, 2018 10:58 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Мар 16, 2006 9:42 am
Мнения: 12097
Местоположение: Гьотеборг
Мнение Re: Настройка/ъпдейт през PC и телефон
Ами идеята е да се използва само боотлоадера - за флашване трябва платката да се извади физически.
Свързаност с интернет... ами според мен не е нужна, по-скоро вредна.
Мислих, си даже някаква подобна на NFC комуникация - т.е. радиото на серийния канал да е толкова зле, че да има обхват няколко метра или под метър. Идеята е да не се отваря кутията, и да не се използват конектори - но интернет свързаност или радио ъпдейт през 100 или повече метра, или съвсем дистанционно - не ми се нрави.


Пон Ное 26, 2018 9:37 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение Re: Настройка/ъпдейт през PC и телефон
Grubi написа:
... имаме си радио и контролер който има и Bluetooth възможност ...


и не ти ли върши работа Bluetooth-а за безжични настройки

_________________
main[-1u]={1};


Пон Ное 26, 2018 9:45 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 1:59 pm
Мнения: 3867
Местоположение: Габрово
Мнение Re: Настройка/ъпдейт през PC и телефон
Ако е за nfc, стм имат едни еепром-и през nfc. Отдавна ги гледах, но по спомен представляват "двупортова" памет - единият порт е NFC, другия е SPI или I2C нещо си.
Ако програмирането подменя имидж на фирмуера през NFC интерфейса (от телефон примерно), то бутлоадъра може да си проверява на стартъп за нов имидж и да си го програмира ако му хареса.
Това е чипа, но като гледам е малък - 64кбита. Не знам дали може да го играе само интерфейс:
https://www.st.com/en/nfc/m24sr-series-dynamic-nfc-tags.html?querycriteria=productId=SS1812
Това е дисковъри за тоя чип:
https://www.st.com/en/evaluation-tools/m24sr-discovery.html
Има и по-голяма платка, където се мъдри пак той барабар с амнайсе сензора и стм32л4:
https://www.st.com/en/evaluation-tools/b-l475e-iot01a.html
Иначе има и само интерфейси

Сега, като цяло аз NFC не мисля че е много удобно - поне ако се очаква нормален потребител да ги прави тия неща. Ако е за сервизен достъп от твои специалисти сигурно ще е приемливо.
Но БТ си е по-лесно за ползване, а мисля достатъчно сигурно (секюрити). Кофтито е че е малко бавно - горе-долу повече от 3Кбайта/с за ъпдейт няма да постигнеш, което си е проблем при големи фирмуери. Но то по NFC ще е още по-бавно.
Комбинация от двете също се ползва - в устройството е "залепен" таг по NFC, който се ползва за бързо и лесно "pair"-ване с телефона, който после прави самия трансфер по BT (или вифи).


Пон Ное 26, 2018 5:02 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Мар 16, 2006 9:42 am
Мнения: 12097
Местоположение: Гьотеборг
Мнение Re: Настройка/ъпдейт през PC и телефон
чипа е 51822 на Нордик, но си имаме къстъм протокол, който е изял всичко и няма място и за БТ софт дивайс. ако минем на 52 може и да стане
но според мен е добре да си е отделно


Сря Ное 28, 2018 1:13 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 6 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни