Мазмуну:
- 1 -кадам: Аппараттык жана программалык камсыздоонун өзгөчөлүгү
- 2 -кадам: XCTU аркылуу зымсыз сенсорду жана зигмо алуучуну конфигурациялоо
- 3 -кадам: Labview Utility колдонуп Wireless Temperature and Vibration Values Analysis
- 4 -кадам: Captive Portal колдонуп DHCP/статикалык IP орнотууларын конфигурациялоо
- 5 -кадам: Туткун порталын колдонуу менен WiFi орнотууларын сактоо
- 6 -кадам: UbiDotsко сенсордук окууларды жарыялоо
- 7 -кадам: маалыматтарды визуалдаштыруу
Video: Узун диапазондогу зымсыз температура жана дирилдөө сенсорлору менен иштөөнү баштоо: 7 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Кээде дирилдөө көптөгөн колдонмолордо олуттуу көйгөйлөрдүн себеби болуп саналат. Машина шахталары менен подшипниктерден баштап катуу дисктин иштешине чейин, вибрация машинанын бузулушуна, эрте алмаштырууга, начар иштөөгө алып келет жана тактыкка чоң сокку урат. Мониторинг жана машинанын титирөөсүнүн маал -маалы менен анализделиши машинанын бөлүгүнүн эрте бузулушу жана эскирүү көйгөйүн чече алат.
Бул көрсөтмөдө биз IoT аралыкка зымсыз титирөө жана температура сенсорлорунун үстүндө иштейбиз. Булар көптөгөн кеңири таралган тиркемелери бар өнөр жай класстагы сенсорлор.
- Металл иштетүү
- Электр энергиясын өндүрүү
- Mining
- Тамак -аш жана суусундук
Ошентип, бул Нускамада биз төмөнкүлөрдү баштан өткөрөбүз:
- XCTU жана Labview UI аркылуу зымсыз сенсорлорду конфигурациялоо.
- Сенсордон вибрация баалуулуктарын алуу.
- Xbee аппаратынын жана xbee протоколунун иштешин түшүнүү.
- Түз тутум порталын колдонуу менен WiFi ишеним грамоталарын жана IP конфигурациясын конфигурациялоо
1 -кадам: Аппараттык жана программалык камсыздоонун өзгөчөлүгү
Аппараттык мүнөздөмө
- Зымсыз титирөө жана температура сенсорлору
- Zigmo алуучу
- ESP32 BLE/ WiFi түзмөгү
Программалык камсыздоонун өзгөчөлүгү
- Arduino IDE
- LabView Utility
2 -кадам: XCTU аркылуу зымсыз сенсорду жана зигмо алуучуну конфигурациялоо
Ар бир IoT түзмөгүнө булутту орнотуу жана ар кандай түзмөктөрдүн ортосунда зымсыз интерфейсти орнотуу үчүн байланыш протоколу керек.
Бул жерде Wireless Sensors жана Zigmo Receiver аз кубаттуулукту жана XBee узак аралыкка чечүүнү колдонушат. XBee 902ден 928 МГцке чейинки ISM диапазондорунда иштөөнү көрсөткөн ZigBee протоколун колдонот.
Xbee XCTU программасын колдонуу менен конфигурацияланышы мүмкүн
- Xbee түзмөгүн издеңиз же сол жактын жогорку сөлөкөтүн чыкылдатуу менен жаңы Xbee түзмөгүн кошуңуз.
- Түзмөк сол жактагы панелде көрсөтүлгөн болот.
- орнотууларды көрүү үчүн түзмөктү эки жолу чыкылдатыңыз.
- Эми жогорку оң бурчтагы консолдун сүрөтчөсүн чыкылдатыңыз
- Консоль чыгуусунда келе жаткан маанини көрө аласыз
- Бул жерде узундугу 54 байт болгон кадрды алып жатабыз
- бул байттар реалдуу баалуулуктарды алуу үчүн дагы иштетилмек. чыныгы температураны жана титирөө баалуулуктарын алуу тартиби алдыдагы кадамдарда айтылган.
3 -кадам: Labview Utility колдонуп Wireless Temperature and Vibration Values Analysis
Сенсор эки режимде иштейт
- Конфигурация режими: Пан IDнин, конфигурациянын, кайталоолордун санын конфигурациялоо ж.
- Иштөө режими: Биз аппаратты Run режиминде иштетип жатабыз. Жана бул баалуулукту талдоо үчүн биз Labview Utility колдонуп жатабыз
Бул Labview UI жакшы графиктердеги баалуулуктарды көрсөтөт. Бул учурдагы жана мурунку баалуулуктарды көрсөтөт. Labview UI жүктөө үчүн бул шилтемеге кире аласыз.
иштетүү режимине өтүү үчүн конуу баракчасынын менюсунан Чуркоо сүрөтчөсүн басыңыз.
4 -кадам: Captive Portal колдонуп DHCP/статикалык IP орнотууларын конфигурациялоо
Биз туткун порталын WiFi ишеним грамоталарын сактоо жана IP жөндөөлөрү аркылуу сүзүү үчүн колдонобуз. Туткун порталына толук киришүү үчүн, сиз төмөндөгү көрсөтмөлөрдөн өтсөңүз болот.
Туткун порталы бизге Статикалык жана DHCP орнотууларын тандоо мүмкүнчүлүгүн берет. Жөн гана Статикалык IP, Subnet Mask, шлюз жана Wireless Sensor Gateway сыяктуу грамоталарды киргизиңиз, ошол IPде конфигурацияланат.
5 -кадам: Туткун порталын колдонуу менен WiFi орнотууларын сактоо
Веб -баракча жайгаштырылган, анда жеткиликтүү WiFi тармактары жана RSSI көрсөтүлгөн тизме бар. WiFi тармагын жана сырсөздү тандап, тапшырууну киргизиңиз. Ишеним грамоталары EEPROMда жана IP жөндөөсү SPIFFSте сакталат. Бул тууралуу көбүрөөк маалыматты бул нускамадан табууга болот.
6 -кадам: UbiDotsко сенсордук окууларды жарыялоо
Бул жерде биз температура жана нымдуулук маалыматын алуу үчүн ESP 32 шлюз ресивери менен зымсыз температура жана дирилдөө сенсорлорун колдонуп жатабыз. Биз маалыматты UbiDotsко MQTT протоколу аркылуу жөнөтүп жатабыз. MQTT жарыялоо жана жазылуу механизмине эмес, суроо -талапка жана жоопко ылайык. Бул HTTPге караганда ылдам жана ишенимдүү. Бул төмөнкүдөй иштейт.
Зымсыз сенсордун маалыматтарын окуу
Биз Зымсыз Температура жана Дирилдөө Сенсорлорунан 29 байттык кадр алып жатабыз. Бул кадр чыныгы температураны жана дирилдөө маалыматын алуу үчүн башкарылган
if (Serial2.available ()) {data [0] = Serial2.read (); кечигүү (k); if (data [0] == 0x7E) {Serial.println ("Got Packet"); while (! Serial2.available ()); for (i = 1; i <55; i ++) {data = Serial2.read (); кечигүү (1); } if (data [15] == 0x7F) /////// resive data туура экендигин текшерүү үчүн {if (data [22] == 0x08) //////// сенсордун түрүн текшериңиз туура {rms_x = ((uint16_t) (((маалыматтар [24]) << 16) + ((маалыматтар [25]) << 8) + (маалыматтар [26]))/100); rms_y = ((uint16_t) (((маалыматтар [27]) << 16) + ((маалыматтар [28]) << 8) + (маалыматтар [29]))/100); rms_z = ((uint16_t) (((маалыматтар [30]) << 16) + ((маалыматтар [31]) << 8) + (маалыматтар [32]))/100); max_x = ((uint16_t) (((маалыматтар [33]) << 16) + ((маалыматтар [34]) << 8) + (маалыматтар [35]))/100); max_y = ((uint16_t) ((((маалыматтар [36]) << 16) + ((маалыматтар [37]) << 8) + (маалыматтар [38]))/100); max_z = ((uint16_t) ((((маалыматтар [39]) << 16) + ((маалыматтар [40]) << 8) + (маалыматтар [41]))/100);
min_x = ((uint16_t) (((маалымат [42]) << 16) + ((маалымат [43]) << 8) + (маалымат [44]))/100); min_y = ((uint16_t) ((((маалыматтар [45]) << 16) + ((маалыматтар [46]) << 8) + (маалыматтар [47]))/100); min_z = ((uint16_t) ((((маалыматтар [48]) << 16) + ((маалыматтар [49]) << 8) + (маалыматтар [50]))/100);
cTemp = (((((маалыматтар [51]) * 256) + маалыматтар [52])); калкыма батарея = ((маалымат [18] * 256) + маалымат [19]); калкып чыңалуу = 0.00322 * батарея; Serial.print ("Сенсордун номери"); Serial.println (маалыматтар [16]); Serial.print ("Сенсор түрү"); Serial.println (маалыматтар [22]); Serial.print ("Камтылган программанын версиясы"); Serial.println (маалыматтар [17]); Serial.print ("Цельсий боюнча температура:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("X огунда RMS термелүүсү:"); Serial.print (rms_x); Serial.println ("мг"); Serial.print ("Y огунда RMS термелүүсү:"); Serial.print (rms_y); Serial.println ("мг"); Serial.print ("Z огунда RMS термелүүсү:"); Serial.print (rms_z); Serial.println ("мг");
Serial.print ("X огунда мини вибрация:");
Serial.print (min_x); Serial.println ("мг"); Serial.print ("Y огунда мин титирөө:"); Serial.print (min_y); Serial.println ("мг"); Serial.print ("Z огунда мин титирөө:"); Serial.print (min_z); Serial.println ("мг");
Serial.print ("ADC мааниси:");
Serial.println (батарея); Serial.print ("Батарея чыңалуусу:"); Serial.print (чыңалуу); Serial.println ("\ n"); if (чыңалуу <1) {Serial.println ("Батареяны алмаштыруу убактысы"); }}} else {for (i = 0; i <54; i ++) {Serial.print (data ); Serial.print (","); кечигүү (1); }}}}
UbiDots MQTT API'ге туташууда
MQTT процесси үчүн аталыш файлын кошуңуз
#"PubSubClient.h" кошуу
кардардын аты, брокердин дареги, токен идентификатору сыяктуу MQTT үчүн башка өзгөрмөлөрдү аныктаңыз (Биз токен идентификаторун EEPROMдан алып жатабыз)
#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; жүк жүктөмү [100]; char темасы [150]; // токен ID String tokenId сактоо үчүн өзгөрмө түзүү;
Ар кандай сенсордук маалыматтарды сактоо үчүн өзгөрмөлөрдү түзүңүз жана теманы сактоо үчүн char өзгөрмөсүн түзүңүз
#define VARIABLE_LABEL_TEMPF "tempF" // Өзгөрмө энбелгиси #аныктоо VARIABLE_LABEL_TEMPC "tempC" // Degine VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "humid" // Assing
char topic1 [100];
char topic2 [100]; char topic3 [100];
маалыматтарды MQTT темасына жарыялоо, жүктөм {"tempc": {value: "tempData"}} окшойт
sprintf (topic1, "%s", ""); sprintf (topic1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf (пайдалуу жүк, "%s", "");
// Пайдалуу жүктү sprintf тазалайт (пайдалуу жүк, "{"%s / ":", VARIABLE_LABEL_TEMPC);
// sprintf маанисин кошот (пайдалуу жүк, "%s {" мааниси / ":%s}", пайдалуу жүк, str_cTemp);
// sprintf маанисин кошот (пайдалуу жүк, "%s}", пайдалуу жүк);
// Serial.println (пайдалуу жүк) сөздүктүн кашаасын жабат;
Serial.println (client.publish (topic1, payload)? "Published": "жарыяланбаган");
// Башка темада да ушундай кылыңыз
client.publish () маалыматтарды UbiDotsко жарыялайт
7 -кадам: маалыматтарды визуалдаштыруу
- Ubidotsко барып, каттоо эсебиңизге кириңиз.
- Жогорку панелдеги Маалыматтар өтмөгүнөн Башкаруу тактасына өтүңүз.
- Эми жаңы виджеттерди кошуу үчүн "+" белгисин басыңыз.
- Тизмеден виджет тандап, өзгөрмөнү жана түзмөктөрдү кошуңуз.
- Сенсордун маалыматтары ар кандай виджеттерди колдонуу менен панелде чагылдырылышы мүмкүн.
Жалпы код
HTML жана ESP32 үчүн Over кодун бул GitHub репозиторийинен тапса болот.
- ncd ESP32 сынык тактасы.
- ncd Зымсыз температура жана нымдуулук сенсорлору.
- pubsubclient
- UbiDots
Сунушталууда:
Node-REDди колдонуп зымсыз дирилдөө жана температура тууралуу маалыматты Google баракчаларына жөнөтүү: 37 кадам
Node-RED аркылуу Google Барактарына Зымсыз Дирилдөө жана Температура Маалыматтарын Жөнөтүү: NCDдин Узун Аралыктагы IoT Өнөр жай зымсыз титирөө жана температура сенсорун киргизүү, 2 милге чейин зымсыз сетка тармагын колдонуу менен мактануу. Так 16 биттик титирөө жана температура сенсорун камтыган бул аппарат
Узун диапазондогу IR жакындык сенсору: 3 кадам
Узун диапазондогу IR жакындык сенсору: Инфракызыл сенсорлор объекти аныктоо үчүн эң жакшы модуль, бирок көйгөй ал өтө кыска аралыкта иштейт. Бул макалада биз диапазонду кантип көбөйтө аларыбызды жана диапазонго кандай факторлор таасир этерин бөлүшөбүз
Узун диапазондогу Wifi PPM / MSP: 5 кадам
Long Range Wifi PPM / MSP: Бир аз мурун мен Wifi PPM контроллеримди жайгаштыргам. Бул абдан жакшы иштеп жатат. Жөн гана диапазону бир аз кыска. Мен бул маселенин чечимин таптым. ESP8266 ESPNOW деп аталган режимди колдойт. Бул режимдин деңгээли алда канча төмөн. Бул байланышты үзбөйт
Узун диапазондогу WiFi сканери ESP8266 колдонуп: 6 кадам (сүрөттөр менен)
Узун диапазондогу WiFi сканери ESP8266 менен: Бул Нускамада мен батарейка менен иштей турган 2,5 диапазондуу Wi -Fi сканерлөөчү түзмөктү жасайм, ал кайсы канал менин үй тармагыма ылайыктуу экенин аныктайт. Ал ошондой эле баратып ачык WiFi кирүү чекиттерин табуу үчүн колдонулушу мүмкүн. Жасоо баасы: 25 доллардын тегерегинде
Темир жолдорду коргоо үчүн Arduinoдо температура, жамгыр суусу жана дирилдөө сенсорлорун колдонуу: 8 кадам (сүрөттөр менен)
Темир жолдорду коргоо үчүн Arduinoдогу температура, жамгыр суусу жана дирилдөө сенсорлорун колдонуу: Заманбап коомдо темир жолчулардын көбөйүшү темир жол компаниялары суроо-талапка жооп берүү үчүн тармактарды оптималдаштыруу үчүн дагы көп нерселерди жасашы керек дегенди билдирет. Бул долбоордо биз кичине масштабда температура, жамгыр суусу жана дирилдөө сенсорлорунун кандай экенин көрсөтөбүз