Мазмуну:

Comunicação IoT Com a Dragonboard 410C: 5 кадам
Comunicação IoT Com a Dragonboard 410C: 5 кадам

Video: Comunicação IoT Com a Dragonboard 410C: 5 кадам

Video: Comunicação IoT Com a Dragonboard 410C: 5 кадам
Video: Qualcomm launches its premium 820E embedded platform for IoT developers 2024, Ноябрь
Anonim
Comunicação IoT Com a Dragonboard 410C
Comunicação IoT Com a Dragonboard 410C

Комментарийлерди жазуу же орнотуу, IoT үчүн компьютериңизди өчүрүү керек. Ачык айтканда, сиз өзүңүздү жакшы сезесиз, жана сиз IoT жабдууларын башкарасыз.

Agora, transessante transformes esses alertas atasas atasasas "cisas" да, алар да сервистерде, кызматтарда, кызматтарда, кызматтарда жана кызматтарда. Оюн -зоок "чоң" базардагы эң чоң рынокко кирүүгө жардам берет, бирок бул сиздин алдыңызда турган система.

Почта кызматтарын колдонуңуз 'Zé da água', бул жердеги конфигурациялар, ошондой эле IoT менен ажыдаар тактасы, ошондой эле ажыдаар тактасы, ошондой эле чечүүчү жолдор.

1 -кадам: Sua Dragonboard 410C даярдаңыз

Sua Dragonboard 410C даярдаңыз
Sua Dragonboard 410C даярдаңыз

Drabonboard 410C орнотулган дарбазалар шлюзда да, IoT тиштеринде да, ошондой эле компьютерде да бар.

Праймеризде, сиз операциялык системаны орното аласыз. GPS, кардарлардын тизмеси жок болгондон кийин, Linux системасы, Linaro 17.04.1 операциялык системасы, ошондой эле Dragonboard 410C үчүн 96boards жана neste шилтемеси менен иштейт.

Apios a instalação do seu systema operacional, instale a biblioteca libmraa for a utilizacão at GPIOs, in Dragonboard 410C. Тактап айтканда, сиз өзүңүздү башкара аласыз (консолуңузда операциялык системаны иштетүү үчүн):

Pré Requisitos libmraa

  • sudo apt-get update
  • sudo apt-cache издөө pcre
  • Sudo apt-get libpcre3-dev орнотуу
  • sudo apt-get install орнотуу
  • sudo apt-get cmake орнотуу
  • sudo apt-get install python-dev
  • sudo apt-get swig орнотуу

Instalação mraa

  • sudo git клону
  • sudo mkdir mraa/build && cd $ _
  • sudo cmake.. -DBUILDSWIGNODE = ӨЧҮРҮҮ
  • sudo make
  • sudo make install

Python библиотекасынын жардамы менен, инструкциялуу, вамосторду экспорттоо жана Python үчүн библиотеканы экспорттоо. Демек, VIMдин редакторунда же текстти колдонуу үчүн, сиз VAны колдонсоңуз болот:

  • sudo vim ~/.bashrc
  • басма сөздү басуу үчүн, мен сизди кызыктырасыз
  • акыркы жолу жок: экспорттоо PYTHONPATH = $ PYTHONPATH: $ (dirname $ (find /usr /local -name mraa.py))
  • ESC баскычын басуу үчүн баскычтарды басыңыз: "x!" e enter para salvar e sair do arquivo.

Комментарийлердин жардамы менен, библиотека Python менен иштей аласыз.

Мисалы, GPS программаларын орнотуу жана орнотуу программалары (бул жерде сиз өзүңүздүн компьютериңизди жана системаңызды Linaro 17.04.1 системасында иштөө үчүн сунуштайсыз). Се консолу жок, же жокко чыгарыңыз:

sudo apt-get gnss-gpsd gpsd gpsd-клиенттерди орнотуңуз

Тесттер боюнча, caidio abaixo аткарыңыз, эч кандай консолуңуз жок:

gpsmon -n

OBS: Интернетте Drabonboard антеннасы колдонулган учурларда колдонулат. Дагы бир жолу, 5 жана 10 мүнөттөрдүн ичинде демотараптарды өчүрүү керек, бул маалыматтын презентациясы катары.

Пенсандо эч кандай проект жок, encartular o (s) аппараттык жабдуулардын саны, эч кандай шарттар жок, жана бул учурда сиз өзүңүздүн үйүңүздү бөлүп алсаңыз болот. Чечүүчү, тышкы антенналар, wi-fi жана GPS үчүн.

OBS: Антенна экстерна орнотулганда, SMD, портативдик, эң зарыл болгон кызматтарды сатып алуу керек.

Тышкы антенналарды алмаштыруу үчүн, сиз Qualcomm шилтемеси менен документти алмаштыра албайсыз.

OBS: Интернет компоненттери (конденсаторлор, резисторлор жана башкалар) интернетте иштейт. Антенналар үчүн, SmartCore сайты жок.

Wi -Fi тармагы конфигурацияланганда, интернетке туташууңузду жана GSMди колдонуу мүмкүнчүлүгүн берет. GSM экстерндерин орнотуу үчүн, эгерде сиз кааласаңыз, анда буларды эч ким жокко чыгарбайт, ал эми сиз Dragonboard 410Cге кире аласыз.

Бул кадам GSM (ATENÇO COM A POLARIDADE) модулу үчүн эң маанилүү кадам болуп саналат.

Интернеттеги интернетте, MQTT протоколунда жана Dragonboard 410C комо чекитинде аныкталган. Программалык камсыздоону орнотуу үчүн, брокер mqtt, же жок болсо да, консолу жок:

sudo apt-get чиркейди орнотуңуз

Бул программалык камсыздоону орнотуу жана орнотуу.

Dragonboard 410C туташуу чекитине кирүү үчүн төмөнкү пункттарды белгилеңиз:

  • Clique no icone de redes no canto inferior direito
  • "Байланыштарды түзөтүү" үчүн Clique
  • Апостор "Тармактык туташуулар", "Кошуу" деген сөздөрдөн баш тартышты
  • Wi-Fi тармагын тандап, "Түзүү" дегенди тандаңыз
  • Конфигурацияны калыбына келтирүү үчүн, SSIDдин номери жок кылынсын
  • "Hotspot" үчүн "режим" камтылган жок
  • "Wi-Fi Коопсуздук" үчүн конфигурациялоону жана орнотууну кошуңуз.
  • "Сактоо" клибинин финалы

Dragonboard 410C үчүн эксклюзивдүү программаларды тандап алгыла, брокердин публикациясы жана субкребери.

Комментарийлер даярдануу үчүн, аларды эстен чыгарбоо керек.

2 -кадам: Sua Cloud API даярдаңыз

Эң башкысы, бул проекттин эң башкысы. Туура иштөө үчүн, сиз булутту жок кылдыңыз, ал API үчүн зарыл болуп турат, ал эми сиз өзүңүздүн интернеттеги APIңизди колдоно аласыз.

Төмөнкү версиялар API'дин негизги шарттарына ылайыктуу болуп саналат, жана менюну үйрөтүү керек. Үйрөткүчтү толуктоо үчүн, шилтемени толуктоо керек. Эмнегедир, комментарийлерди жарыялоо үчүн финансылык программаларды иштеп чыгыңыз.

Баштапкы шарттар, API жана nossa үчүн эң маанилүү шарттар, тесттер жана тесттер, ошондой эле Героку платформасы. Колдонуу шарттары:

  • Сайтка кирүү, бул шилтеме аркылуу
  • "Катталуу" дегенди басыңыз, бул жерде эч кандай артыкчылык жок
  • Каттоодон өтүү, панелдин панели, "Жаңы" жана "Жаңы колдонмону түзүү" опциялары
  • Колдонуу шарттары
  • Мисалы, "Колдонмо түзүңүз"
  • "Колдонмону ачуу" үчүн колдонмону басып коюңуз, эч кандай артыкчылыгы жок.
  • Installer o Heroku Cli, para fazer os deplasts for a aaa applicaão, a secruindo a instrução parau systema systema operacional, de acordo com a documentacão deste link.
  • API'лерди орнотуу боюнча көрсөтмөлөрдү берүү менен, аларды жайылтуу

Негизи, бул макарон жана макарон үчүн, ошондой эле API үчүн. NodeJS же a Express Express орнотуулары, сиз бул жерде иштей аласыз:

  • curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
  • sudo apt -get орнотуу -y nodejs
  • Sudo apt-get npm орнотуу
  • Linuxтун кеңири таралышы үчүн, Advanced Packaging Tool (APT) колдонуңуз, же операциялык системаны колдонуңуз, шилтемеге кайрылыңыз.
  • Agora npm экспресс -генераторун орнотот --g
  • Дисциплинага кирүү процедурасы кандай болгон учурда да, анын ар бир түрүнө кирүү керек 'cd _PASTA_SEU_APP_'
  • Түйүндү "npm init" деп орнотуу керек, жана бул жерде командалар abaixo
  • CD../
  • экспресс _PASTA_SEU_APP_
  • CD _PASTA_SEU_APP_
  • npm орнотуу

Акыркы пункттар даярдалат, GET e um de POST, sos ososo abaixo:

  • Макарондун "жолдорун" ачыңыз
  • abra o arquivo 'index.js'
  • Кошумча айтканда, сиз өзүңүздүн оюңузду өзгөрткүңүз келсе, (почта алуу):

router.get ('/', функция (req, res, next) {res.setHeader ('Content-Type', 'application/json'); res.send (JSON.stringify ({msg: 'Hello API'}), null, 3));}); router.post ('/', милдети (req, res, next) {var msg = 'бош'; эгерде (typeof req.body.msg! = 'undefined') msg = req.body.msg; res.setHeader ('Content-Type', 'application/json'); res.send (JSON.stringify ({msg: msg}, null, 3));});

Колдонмону ар бир колдонуучуга жайылтууну түшүнүңүз:

  • heroku кирүү
  • git add.
  • git oblig -am "баштапкы милдеттенме"
  • git push master

Com isso você já tem seus endpoints de testes prontos. Тестирлөө үчүн акыркы чекиттер почтаны орнотуу, почтачы, шилтемени орнотуу. Колдонмо url да seu (Ex: https://_SEU_APP_.herokuapp.com/) ПОСТТУН ЖҮРГҮЗҮЛҮШҮН ЖАНА ЖӨНӨТҮҮ дегенди тандаңыз. Постту бөлүшүү үчүн, башкача айтканда:

  • Клип на "Аба"
  • Тандоо "x-www-форма-urlencoded"
  • "Msg" баскычы
  • Эм маани, купуя талаптарга жооп берүү

Комментарийлердин нускалары API'лердин сыноолорунун маанилери болуп саналат.

3 -кадам: Instalando E Manipulando O Modulo GSM

Instalando E Manipulando O Modulo GSM
Instalando E Manipulando O Modulo GSM
Instalando E Manipulando O Modulo GSM
Instalando E Manipulando O Modulo GSM

Wifi конфигурациясынан кийин, GSM менен байланышуу үчүн, эч кандай API алдын ала конфигурацияланбайт.

GSM гомологдорунун модулдары, ошондой эле SIM800L модулу жана протезинин жардамы менен, сиз эң жөнөкөй процесстерди жасай аласыз. Эне модулдарды таркатуу жана таркатуу үчүн, бул жерде бир гана суроо жок, бул жерде эч кандай фабрика жок.

Бул жерде GSM жана Dragonboard 410C модулдары иштейт.

Como mencionado эч кандай кадам "Ажыдаар тактасын даярдаңыз", - деген сөздү үзгүлтүксүз түрдө колдонууга болот. Төмөнкү кадамдарды аткаруу үчүн, жөнгө салуу баскычын басуу керек. Convertor DC Lm2596 3a Nf

Төмөнкү шарттар боюнча маалымат реалдуу болуп саналат:

  • Ажыдаар тактасын орнотуңуз, "Dragonboard даярдагыла" деген эч кандай кадам жок, жана "IN +" менен байланышыңыз.
  • Ажыдаар тактасына кошулуңуз, "Dragonboard даярдаңыз" деген эч кандай кадам жок, "IN -" эрежелерин бузбаңыз.
  • МААНИЛҮҮ: Ажыдаар тактасы, анын эрежелерин сактоо керек, ал үчүн тримпотту башкаруу керек (OUT + e OUT -) tenha 4.2V. Ачык мааниге ээ болуу үчүн, бул абдан маанилүү. GSM модулу колдонулгандан кийин, сиз өзүңүздү текшере аласыз. Кайра иштетүү үчүн, аппараттык камсыздоону кошуу керек.
  • "ЧЫГУУ +" регламентин орнотуу үчүн VCC орнотулбайт, бул кадамды көрсөтөт.
  • Жөнгө салуу эрежелерин сактоо керек 'OUT -"GND жок, GND жок, бул кадамдын аягында эмес.
  • RXD модулу менен GSM жок pino 5 UART 0 TX да Dragonboard менен байланышыңыз, кадамдарды ойлоп табыңыз.
  • TXD модулу менен GSM жок pino 7 UART 0 RX да Dragonboard менен байланышыңыз, кадамдарды ойлоп табыңыз.
  • GND модулу GSM жок pino 1, 2, 39 OU 40 GND да Dragonboard, сиз ойлогондой эле кадамдарды жасай аласыз. RX TX үчүн акча каражаттарын түзүү керек

OBS: GSM антеннасы GSM модулу жок болгондуктан, NET же IPX ANTти колдонууга мүмкүн эмес.

Agora vamos ao программалык камсыздоо. Vibos utilizar a biblioteca in a home homeamentes, to GSM жана a Dragonboard 410C сериясындагы баарлашуу.

Төмөнкү китепканалардын тизмеси имейлиңизге киргизилет:

  • Crie um arquivo com a extensão.py, como sugestão 'gsm.py'
  • Аркиво жок, библиотека киргизилгенде, кечиктирилгенде библиотекада убакыт бар

импорттоо

Белгилей кетүүчү нерсе, GSMдин модулу UART аркылуу өзгөрөт

порт = '/dev/tty96B0'

Instantie a UART com ajuda да biblioteca mraa

uart = mraa. Uart (порт)

GSM модулу боюнча эң чоң функцияны аткарыңыз

def жазуу (msg):

uart.write (bytearray (str (msg)+'\ n', 'utf-8'))

GSM модулу менен иштөө үчүн эң маанилүү цикл

while True: r = uart.read (128) if r! = '': print (r.decode ('UTF-8')) i = str (input ()) write (i) time.sleep (0.5)

  • Консолго же башка нерселерге көңүл буруңуз
  • Аткаруу

python gsm.py

"AT" деген сан, башкача айтканда, "OK" дегенди туюнтуп, туташтырууга мүмкүндүк берет

Төмөнкү шарттарда AT - бул жердеги байланыш - encontrados neste link - бул функциялардын бири, бул жерде сиз API жана башка APIлерди колдоно аласыз.

Баштапкы функциялар:

def connect ():

time.sleep (0.5) write ("AT") time.sleep (0.5) write ('AT+CREG = 1') time.sleep (0.5) write ('AT+COPS = 2') time.sleep (0.5) write ('AT+SAPBR = 3, 1, "Contype", "GPRS"') time.sleep (0.5) write ('AT+SAPBR = 3, 1, "APN", "*****"') time.sleep (0.5) write ('AT+SAPBR = 3, 1, "USER", "*****"') time.sleep (0.5) write ('AT+SAPBR = 3, 1, "PWD"), "*****" ') time.sleep (0.5) write (' AT+SAPBR = 1, 1 ') time.sleep (0.5) write (' AT+SAPBR = 2, 1 ') time.sleep (6)

Sugiro que минди cada comanda antes de utilizar esta função. Segue algumas obsações sobre estes comandos:

  • AT+COPS менен биргеликте кандайдыр бир күч -аракетти жумшоо керек, бул кызматты тандап алуу, AT+COPS = аткаруу, праймериздин аткарылышы AT+COPS = ?, Аварияларды бөлүштүрүү сыяктуу функциялар, жана башка функциялар менен байланышуу () акча индекстери дагы жок кылынат. AT_COPS =?
  • SIM картаны аныктоодо APN эстафетасы да, оперативдик операторлор да SIM картага ээ болушат, жана алар үчүн APN, жана башка керектүү маалыматты сатып алыңыз.
  • Кайра оңдоо

Ачкычтуу сүйлөмдөрдү ишке ашыруу үчүн API'лерди колдонуңуз:

def жөнөтүү (p, m, d = ''):

write ('AT+HTTPINIT') time.sleep (0.5) write ('AT+HTTPSSL = 1') time.sleep (0.5) write ('AT+HTTPPARA = "CID", 1') time.sleep (0.5) write ('AT+HTTPPARA = "URL", "_URL_APP_HEROKU _/'+p+'"') time.sleep (0.5) write ('AT+HTTPPARA = "USERDATA", "Authorization: Bearer ******** ********* / r / n "') time.sleep (0.5) if m ==' Get ': жазуу (' AT+HTTPACTION = 0 ') башка: жазуу (' AT+HTTPPARA = "CONTENT", "application/x-www-form-urlencoded" ') time.sleep (0.5) write (' AT+HTTPDATA = '+str (len (d))+', 10000 ') time.sleep (0.5) жазуу (str (t)) time.sleep (10) write ('AT+HTTPACTION = 1') time.sleep (6) write ('AT+HTTPTERM')

Segue algumas obsações para estes comandos:

  • Көңүл ачуу 3 параметрди камтыйт. 'p' para o path que será executado да sua API, 'm' para o método que você irá utilizar da sua api (GET/POST/…), e 'd' para os dados enviados emoso do método não for GET.
  • О, 'AT+HTTPS' тандоосу боюнча, SSL колдонулбайт
  • O argumento 'm' deverá ser enviado no formato querystring (Ex: msg = ola+dragonboard & arg2 = teste &…)
  • Команда 'AT+HTTPPARA = "КОЛДОНУУЧУЛАР…" - opcional, apenas se aouid a deidif algum header no request

Качандыр бир убакта, жеке менчикте, эместе жана колдонууда.

SIM картаны табуу үчүн, GSM технологиясын колдонуу үчүн GSM технологиясын колдонуңуз, SIM картаны колдонуңуз, IoT менен байланышыңыз.

Компоненттер конфигурацияланган жана колдонулбагандыктан, Dragonboard 410C атмосферасы менен байланышкан.

4 -кадам: Комуникарды ажыдаарга даярдоо

Dragonboard үчүн Comunicar Comandico тарабынан даярдалат
Dragonboard үчүн Comunicar Comandico тарабынан даярдалат

Neste passo, NOTEMCU ESP8266 ESP-12 протоколу, мисалы, мисал. Прототипке кирүү үчүн, бул жерде эч кандай көйгөйлөр жок эмес, протоколго кирүү үчүн, эч кандай техникалык жабдуулар аныкталбайт, алар дагы комплекстүү болуп саналат. Бул жерде Wi -Fi жана башка тармактар бар.

Dragonboard 410C, nossa comunicarmos жана 2 библиотекалардын тизмеси:

  • ESP8266WiFi> библиотека жана башка нерселер үчүн
  • PubSubClient> библиотека MQTT брокери болуп саналат

Defina como variáveis globais, брокердин Wi-Fi'сын аныктоодо, ошондой эле Dragonboard 410Cде:

  • const char* SSID = "_REDE_DRAGONBOARD_"; // Hotspot же Dragonboard дегенди аныктоо үчүн
  • const char* PASSWORD = ""; // Хотспотту конфигурациялоодо сиз өзүңүздүн жеке оюңузду билдиресиз
  • const char* BROKER = "_IP_DRAGONBOARD_"; // "Ип а" сөзүн аткаруу үчүн, Dragonboard интернеттен өчүрүлөт

Wi-Fi тармагын оңдоп-түзөө үчүн кардар MQTT комментарийлери үчүн:

  • WiFiClient espWIFI;
  • PubSubClient MQTT (espWIFI);

Жөндөөлөрдү орнотуу, WIFI жана MQTT байланышын орнотуу үчүн:

  • WiFi.begin (SSID, PASSWORD);
  • MQTT.setServer (БРОКЕР, 1883);
  • MQTT.setCallback (callback_mqtt); // Caso você faça жазылыңыз

Бул жерде эч кандай функция жок, бул MQTT үчүн эмиссия:

MQTT.loop ();

WIFI аркылуу брокерди иштетүү үчүн интерфейске кирүү мүмкүнчүлүгү жок. Төмөнкү функцияларга жооп катары:

void checkConnections () {

if (! MQTT.connected ()) while (! MQTT.connected ());

if (WiFi.status ()! = WL_CONNECTED) {WiFi.begin (SSID, PASSWORD); while (WiFi.status ()! = WL_CONNECTED);}

}

Корутунду, Drabonboard 410C үчүн эң жакшы шарттар:

MQTT.publish ('_ NOME_DO_TOPICO_', "Ola Dragonboard");

Сенсорлордун ж.б.у.с., мисалы, аппараттык жабдуулардын үлгүлөрү үчүн эң сонун мисалдар. Керек болсо, бул брокер үчүн эң керектүү болуп саналат.

Dragonboard410C, брокер, брокер, веб -брокер, брокер, брокер, брокер, жана башка брокердин жардамы менен. Para isso execute as linhas abaixo no console da Dragonboard 410C:

  • sudo apt-get python пипти орнотуңуз
  • pip paho-mqtt орнотуу

Agora vamos criar um pyquon como nome, como exemplo, mqtt.py. Негизги функциялар кандайча аткарылаарын аныктайт:

paho.mqtt.clientти mqttimport sys катары импорттоо

Брокер = "_IP_DRAGONBOARD_" порт = 1883 күтүү убактысы = 60 TopicSubscribe = "_MESMO_TOPICO_DISPOSITIVO_EXTERNO_"

def onConnect (client, userdata, flags, rc): client.subscribe (TopicSubscribe)

def onMessage (кардар, колдонуучу маалыматы, мсг): билдирүү = str (мсг. төлөм) басып чыгаруу (билдирүү)

аракет кылыңыз: client = mqtt. Client () client.on_connect = onConnect client.on_message = onMessage client.connect (Broker, port, timeout) client.loop_forever () except: sys.exit (0)

Белгиленген функциялар, "onConnect" кызматтары брокер, "onMessage" менен байланышуу үчүн эч кандай мааниге ээ эмес, жана "байланыш" боюнча жазылууга жазылууга болбойт.

Execute o arquivo com 'python mqtt.py', to seas as as conexões anteriores esterem sido realizadas com successo, to buy your money to buy your home que estão sendo enviados pelo seu dispositivo externo, no caso deste exemplo, pelo NE.

Эскертүү onMessage боюнча, консолдун жардамы менен экзибимосту калыбына келтирүү. Бул жерде GSM'тин GSM аркылуу интерфейси жоктугунан, GS'тин жардамы менен gsm.py файлдарын жөнөтүү керек, "GSM 'орнотуу жана иштетүү модулу жок".

Маанилүү нерселер: NODEMCU ESP8266 ESP-12, башкача айтканда, шилтеме аркылуу документтерди талкуулоо керек. Кыймыл -аракетиңизди оңдоп -түзөө, жөнөкөйлөштүрүү жана оңдоп -түзөө, бул жерде сиз өзүңүздү кармайсыз.

5 -кадам: Финансыларды карап көрүңүз

Алдыда конфигурация жасоо үчүн кадамдарды жасоо керек, бул IoT коммюникесинде, же Dragonboard 410C. É маанилүү рессалтардык программалык камсыздоонун программалык камсыздоолорунун программалык камсыздоолорунун программалары.. API булуттары, программалык камсыздоолор жана жабдуулар Dragonboard менен иштөө үчүн, программалар жана программалар үчүн программалык камсыздоолордун эч кандай тиешеси жок.. Комментарийлердин жыйынтыктоочу варианты, технологиялар жана процедуралар талапка жооп берет.

Колдонмолор жана колдонмолор, сервистер, программалар, веб -сайттар, бастандо трабалхар жана башка API, жана керектөөчүлөрдүн жардамы менен.

Сунушталууда: