Агуулгын хүснэгт:
- Алхам 1: Энэхүү төсөлд ашигласан зүйлс
- Алхам 2: Түүх
- Алхам 3: Бэлтгэл ажил
- Алхам 4: Тохиргоо
- Алхам 5: Суулгаж байна
- Алхам 6: Програмчлал
- Алхам 7: Туршилт
- Алхам 8: Дараагийн алхам
- Алхам 9: Схем
- Алхам 10: Код
Видео: Mongoose OS болон XinaBox ашиглан виртуал хаалганы товчлуур: 10 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Mongoose болон зарим xChips ашиглан бид виртуал хаалганы товчлуурыг хийв. Ажилтнуудыг дуудах физик товчлуурын оронд тэд өөрсдөө үүнийг хийх боломжтой болжээ.
Алхам 1: Энэхүү төсөлд ашигласан зүйлс
Тоног төхөөрөмжийн бүрэлдэхүүн хэсгүүд
- XinaBox CW02 x 1 Та оронд нь CW01 ашиглаж болно
- XinaBox IP01 x 1
- XinaBox PU01 x 1 Хэрэв та илүү олон модулийг програмчлахгүй бол IP01 -ийг ашиглах боломжтой.
- XinaBox OC03 x 1
- XinaBox XC10 x 1 Энэ бүгдийг бүтээдэг "цавуу"!
Програм хангамж, онлайн үйлчилгээ
Mongoose OS Үнэхээр гайхалтай бөгөөд хялбар IoT хөгжүүлэх хэрэгсэл … үнэгүй
Алхам 2: Түүх
Манай хүлээн авалт дээр манай ажилтнууд дуу чимээ гаргах шаардлагатай байсан тул бид өөрсдөө эм ууж, виртуал товчлуур үүсгэхээр шийдсэн бөгөөд энэ код нь ямар ч браузераас ердийн HTTP дуудлага шиг харагдах RPC (Алсын горимын дуудлага) илгээх боломжийг танд олгоно. Бид Mongoose-ийг ашигласан, учир нь түүнтэй ажиллахад үнэхээр хялбар бөгөөд хурдан бөгөөд OTA (Over The Air) кодын шинэчлэлт нь бидний технологийг суулгаж, дахин програмчлах зорилгоор задлахгүйгээр firmware-ийг шинэчлэх боломжтой гэсэн үг юм.
Алхам 3: Бэлтгэл ажил
- Mongoose-OS-ийг суулгах: Шууд урагшлахын тулд энд үйлдлийн системээ ажиллуулах маш энгийн алхмуудыг дагана уу:
- XC10 холбогчийг ашиглан IP01 ба CW02 дээр дарна уу. Доорх зургийг үзнэ үү:
- IP01 -ийг USB порт руу оруулна уу
- IP01 унтраалга нь B ба DCE байрлалд байгаа эсэхийг шалгаарай.
- Mongoose-OS-ийг тушаалын мөрөөс CW02 руу асаана уу. Үүн шиг:
cd
экспорт MOS_PORT = bin/mos flash esp32
Та мөн консол руу орж, ихэнхийг нь тэндээс хийж болно, гэхдээ энд бид үүнийг тушаалын мөрөөс хийдэг тул ажил хурдан хийгддэг. Консол руу орохын тулд:
cd
бин/мос
Алхам 4: Тохиргоо
Эдгээр алхмуудыг нэг урт мэдэгдэлд хийх боломжтой байсан ч бид тэдгээрийг хуваахаар шийдсэн бөгөөд та ямар ч байсан хуулж аваад буулгах тул үүнийг хялбарчлах болно.
I2C тээглүүрийг xChips стандарт болгон тохируулна уу.
bin/mos config-set i2c.scl_gpio = 14 i2c.sda_gpio = 2
CW02 -ийг WiFi сүлжээнд холбоно уу.
bin/mos wifi
AP горимд WiFi -г салгаж, домэйн нэрийг тохируулснаар та зөв IP хаягийг олохын оронд CW01 -т хост нэрээр холбогдох боломжтой болно. Энэ нь зөвхөн дараах тохиолдолд л ажиллах болно:
- Та доорх шиг AP горимд WiFi -г салгаж байна.
- Mac ашиглах эсвэл Bonjour -ийг Windows машин дээрээ суулгаарай.
bin/mos дуудлага Config. Set '{"config": {"wifi": {"ap": {"enable": false}}}}'
bin/mos дуудлага Config. Set '{"config": {"dns_sd": {"enable": true}}}' bin/mos дуудлага Config. Set '{"config": {"dns_sd": {"host- нэр ":" xinabox_switch "}}}
Эцэст нь тохиргоог ажиллуулахын тулд та CW02 -ийг дахин ачаалах хэрэгтэй
bin/mos дуудлага Config. Save '{"reboot": true}'
Үүний дараа та xinabox_switch.local руу ping хийх боломжтой болно
Алхам 5: Суулгаж байна
IP01 -ийг компьютерээсээ салгаад дээд зургийн дагуу хэлхээг угсарна уу.
PU01 -ийг (эсвэл хэрэв та IP01 -тэй байхаар шийдсэн бол) USB тэжээлийн эх үүсвэрт холбоно уу. Одоо байгаа унтраалгаас утсыг OC03 -тэй зэрэгцээ холбоно уу (туйлшрал нь хамаагүй). Fritzing зургийг үзнэ үү.
Идэвхжүүлээд xCW02 -тойгоо ярьж байгааг харахын тулд I2C автобусны автобусыг сканнердах талаар юу хэлэх вэ?
bin/mos --port ws: //xinabox_switch.local/rpc I2C дуудлага хийх.
Хэрэв энэ бүхэн ажиллаж, таны xOC03 -ийг зөв суулгасан бол '56' гэсэн тоог буцаах ёстой. Энэ бол OC03 -ийн I2C хаяг аравтын бутархайгаар (зургаан өнцөгт 0x38).
Алхам 6: Програмчлал
- Одоо Mongoose -ийг консол горимд нээнэ үү. Энэ нь портын дугаар хүссэн цонхоор нээгдэх ёстой: ws: //xinabox_switch.local/rpc
- Энэ нь CW02 -тэй харилцах бөгөөд төхөөрөмж аль хэдийн анивчсан бөгөөд WiFi сүлжээнд холбогдсон болохыг ойлгох тул 3 шалгах тэмдэг өгөх болно. Цонхыг хааж файлуудын жагсаалтыг сэргээнэ үү
- Доорх кодыг хуулж, init.js руу оруулаад save+reboot дээр дарна уу
- Таны хэлхээ одоо програмчлагдсан байна.
Алхам 7: Туршилт
Та одоо өөр RPC дуудлага хийсэн тул терминалаасаа дараахийг оруулах боломжтой.
bin/mos --port ws: //xinabox_switch.local/rpc дуудлага солих
… таны дуугаралт 2 секундын турш явах ёстой. Та үүнийг бараг ямар ч хөтөч дээрээс хийж болно.
xinabox_switch.local/rpc/Switch
… ижил нөлөөтэй.
Алхам 8: Дараагийн алхам
Та URL хаях боломжтой ямар ч хэрэгслийг ашиглаж болно. Би үүнийг Workflow нэртэй Apple App -аас хийдэг бөгөөд энэ нь үүнийг утсаараа хийх эсвэл Apple Watch -аасаа хүндрэл учруулах боломжийг олгодог боловч өөр олон сонголтууд байдаг. Энд миний ажлын урсгалын скрипт байна, гэхдээ хатуу кодчилсон IP хаягтай: сайхан өнгөрүүлээрэй!
Apple App: Ажлын урсгал - энд хатуу кодчилсон IP хаяг байна
Алхам 9: Схем
Buzzer Circuit OC03 -ийг одоо байгаа товчлууртай зэрэгцүүлэн суулгана уу.
Эндээс татаж авна уу.
OC03 хэлхээ OC03 -ийг одоо байгаа товчлууртай зэрэгцүүлэн суулгана уу.
Эндээс татаж авна уу.
Алхам 10: Код
init.js JavaScript Энэ төслийн үндсэн ба цорын ганц код.
ачаалал ('api_config.js');
ачаалал ('api_gpio.js'); ачаалал ('api_i2c.js'); ачаалал ('api_net.js'); ачаалал ('api_sys.js'); ачаалал ('api_timer.js'); ачаалал ("api_rpc.js"); led = Cfg.get ('pins.led'); adr = 0x38; автобус = I2C.get (); I2C.writeRegB (автобус, адр, 3, 0); I2C.writeRegB (автобус, адр, 1, 0); / * итгэлтэй байхын тулд унтраагаарай */ let delay = 2000; GPIO.set_mode (удирдсан, GPIO. MODE_OUTPUT); RPC.addHandler ('Switch', function (args) {GPIO.toggle (led); I2C.writeRegB (bus, adr, 3, 0); / * OC03 дахин холбогдох тохиолдолд * / I2C.writeRegB (автобус, adr, 1, 1); Timer.set (саатал, худал, функц () {GPIO.toggle (удирдсан); I2C.writeRegB (автобус, адр, 1, 0);}, null); буцаах үнэн;});
Зөвлөмж болгож буй:
DigiSpark болон Rotary Encoder ашиглан USB дууны товчлуур: 3 алхам
DigiSpark болон Rotary Encoder ашиглан USB дууны товчлуур: Энэ бол маш хямд USB дууны хяналтын товчлуур юм. Заримдаа уламжлалт товчлуурууд нь хулганыг хаа сайгүй дарахаас илүү аливаа зүйлийг удирдахад илүү тохиромжтой байдаг. Энэхүү төсөл нь DigiSpark, Rotary Encoder болон Adafruit Trinket USB номын санг ашигладаг (https: //github.c
1602 LCD болон 4x4 товчлуур ашиглан Arduino DIY тооцоолуур: 4 алхам
1602 LCD болон 4x4 товчлуур ашиглан Arduino DIY тооцоолуур: Сайн байна уу залуусаа, энэ зааварт бид үндсэн тооцоог хийх боломжтой Arduino ашиглан тооцоолуур хийх болно. Үндсэндээ бид 4x4 товчлуураас оролтыг авч, өгөгдлийг 16x2 LCD дэлгэц дээр хэвлэх бөгөөд arduino тооцооллыг хийх болно
Brightness Control PWM дээр суурилсан LED удирдлага нь товчлуур, бөөрөлзгөнө Pi болон зурлага ашиглан: 8 алхам (зурагтай)
Brightness Control PWM дээр суурилсан LED удирдлага нь товчлуур, бөөрөлзгөнө Pi болон зурлага ашиглан: ХБХ нь оюутнуудад хэрхэн ажилладаг талаар тайлбарлах арга замыг хайж байсан тул 2 товчлуур ашиглан LED -ийн гэрлийг хянах оролдлогыг өөртөө тавьсан. - нэг товчлуур нь LED -ийн тод байдлыг нэмэгдүүлж, нөгөө товчлуурыг нь багасгадаг. Хөтөлбөрт
IFTTT ашиглан утастай хаалганы хонхыг ухаалаг хаалганы хонх болгон хувиргаарай: 8 алхам
IFTTT ашиглан утастай хаалганы хонхыг ухаалаг хаалганы хонх болгон хувиргаарай: WiFi хаалганы хонх нь одоо байгаа утастай хонхны хонхыг ухаалаг хаалганы хонх болгон хувиргадаг. https://www.fireflyelectronix.com/product/wifidoor
IRobot виртуал хананы дээд товчлуур: 6 алхам
IRobot виртуал хананы дээд товчлуур: Тиймээс iRobot Virtual Wall -ийн дээд талд байгаа том товчлуур нь асаах товчлуур биш байгаад би бухимдаж байна. Энэ нь байх ёстой юм шиг харагдаж байна, гэхдээ энэ нь тийм биш юм. Тиймээс би ороод виртуал хананы дээд талд шилжүүлэгч нэмэх ёстой