Агуулгын хүснэгт:

Retro ярианы синтез. Хэсэг: 12 IoT, гэрийн автоматжуулалт: 12 алхам (зурагтай)
Retro ярианы синтез. Хэсэг: 12 IoT, гэрийн автоматжуулалт: 12 алхам (зурагтай)

Видео: Retro ярианы синтез. Хэсэг: 12 IoT, гэрийн автоматжуулалт: 12 алхам (зурагтай)

Видео: Retro ярианы синтез. Хэсэг: 12 IoT, гэрийн автоматжуулалт: 12 алхам (зурагтай)
Видео: Минимальный одиночный кемпинг с собаками | Кемпинг в Корее 2024, Арваннэгдүгээр
Anonim
Image
Image
Retro ярианы синтез. Хэсэг: 12 IoT, гэрийн автоматжуулалт
Retro ярианы синтез. Хэсэг: 12 IoT, гэрийн автоматжуулалт

Энэхүү нийтлэл нь IoT Retro Speech Synthesis төхөөрөмжийг хэрхэн бий болгох, одоо байгаа гэрийн автоматжуулалтын системд нэгтгэх, шаардлагатай бүх програм хангамжийн функцуудыг дотоодын орчинд амжилттай ашиглах боломжийг бүрдүүлэх тухай баримтжуулсан гэрийн автоматжуулалтын тухай цуврал 12 дахь нийтлэл юм.

1 -р зурагт IoT ярианы синтезийн төхөөрөмж дууссан, 2 -р зураг нь эцсийн бүтээгдэхүүн рүү орохын тулд хэлбэрийн хүчин зүйл буурсан прототипт ашигласан бүх бүрэлдэхүүн хэсгүүдийг харуулав.

Видео нь төхөөрөмжийг ажиллуулж байгааг харуулж байна (туршилтын явцад).

Танилцуулга

Дээр дурдсанчлан энэхүү зааварчилгаа нь IoT Retro Speech Synthesis төхөөрөмжийг хэрхэн яаж хийх талаар нарийвчилсан бөгөөд General Instruments SP0256-AL2 дээр суурилсан болно.

Гол зорилго нь IoT сүлжээнд "хуучин сургуулийн" дууны синтезийг нэмэх явдал юм. Та яагаад "хуучин сургууль" гэж асууж болох вэ? Би 80-аад оны үед эдгээр зүйлсийг анх үйлдвэрлэж байхдаа BBC Micro-тойгоо холбогдож байсан болохоор миний хувьд SP0256-AL2-ийг тойрон ямар нэг хэмжээгээр дургүйцдэг.

Хипстер Амазоны цуурай эсвэл Сиригийн дүлий аялгууг сонсохоос илүү энэ Далекийн чанга дуугаар дэлхий дээр юу хэлж байгааг олж тогтоохыг хичээх нь надад илүү таалагддаг. Би танаас асуух бэрхшээл хаана байна вэ?

Өө, энд дурдах хэрэггүй, би бас 'SP0256-AL2' IC-ийн "уут ачсан" байна.

Төхөөрөмж нь орон нутгийн температур, чийгшлийг унших чадвартай тул эндээс авсан дахин ашигласан кодыг үндэслэн энэхүү автоматжуулсан MQTT/OpenHAB дээр суурилсан IoT сүлжээнд холбогдох IoT дэд бүтцийн орчны багаж хэрэгслийг өргөжүүлж байна.

ESP8266-07 нь MQTT-ийн харилцаа холбоо, системийн бүх функцийг хянах үүрэгтэй (SD картны хандалт, удирдлага, температур/чийгшил, дууны хяналт, ярианы синтез) юм. орон нутгийн SD карт, гэхдээ шалгалт тохируулга, сүлжээний аюулгүй байдлын параметрүүдийг MQTT алсын хэвлэлүүдээр програмчилж болно.

Надад ямар хэсгүүд хэрэгтэй вэ?

Бүртгэлийн материалыг эндээс үзнэ үү

Надад ямар програм хангамж хэрэгтэй вэ?

  • Arduino IDE 1.6.9,
  • Arduino IDE нь ESP8266-07 програмчлахаар тохируулагдсан (үүнтэй адил). Дараа нь энд програм хангамжийн тоймд өгсөн дэлгэрэнгүй тайлбар дээр заасан IDE -ийг тохируулна уу.
  • Python v3.5.2 хэрэв та автомат туршилтын чадварыг ашиглахыг хүсвэл дэлгэрэнгүй мэдээллийг эндээс үзнэ үү

Надад ямар хэрэгсэл хэрэгтэй вэ?

  • Хамгийн багадаа x3 микроскоп (SMT гагнуурын хувьд),
  • Molex холбогч хавчих хэрэгсэл (JST холбогчдын хувьд),
  • SMD гагнуурын төмөр (шингэн урсгалтай үзэг ба флюс судалтай гагнууртай),
  • Халив (төрөл бүрийн),
  • Дулааны буу,
  • Өрөмдлөг (төрөл бүрийн),
  • Усан онгоцны тавиур,
  • Файлууд (янз бүрийн),
  • Дремел (янз бүрийн бит),
  • Бат бөх дэд (жижиг, том, хар, давхар ажилчин шиг),
  • Scalpel,
  • Верниер диаметр хэмжигч (үйлдвэрлэлийг хэмжихэд ашигладаг бөгөөд ПХБ -ийн эд ангиудыг хэмжихэд тохиромжтой),
  • Түлхүүр ба самар жолооч (янз бүрийн),
  • Хүчтэй хясаа (SMT гагнуурын хувьд),
  • Junior Hacksaw,
  • Өрөм (янз бүрийн өрөмдлөгийн тусламжтайгаар),
  • Нарийн бахө (үзүүртэй, хамартай хамар),
  • Угаах таслагч,
  • Дуу чимээ тасралтгүй шалгах DMM,
  • Хос суваг бүхий дижитал хамрах хүрээ (дохиог дибаг хийхэд тохиромжтой)

Надад ямар ур чадвар хэрэгтэй вэ?

  • Маш их тэвчээр,
  • Маш их гарын авлага, гар/нүдний маш сайн зохицуулалт,
  • Гагнуурын маш сайн ур чадвартай,
  • Үйлдвэрлэлийн маш сайн ур чадвар,
  • 3 хэмжээст дүрслэх чадвар,
  • 'C' програм хангамж хөгжүүлэх талаархи зарим мэдлэг (хэрэв та эх кодыг ойлгохыг хүсч байвал),
  • Python -ийн талаархи зарим мэдлэг (хэрэв та автомат тест ашиглахыг хүсвэл скриптийг хэрхэн суулгах, ажиллуулах),
  • Arduino болон түүний IDE -ийн талаархи мэдлэг,
  • Электроникийн талаар сайн мэдлэгтэй,
  • Гэрийн сүлжээний талаархи зарим ойлголт.

Хамрах сэдэв

  • Хэрэглэгчийн заавар
  • Хэлхээний тойм
  • ПХБ -ийн үйлдвэрлэл ба угсралт
  • Үйлдвэрлэл
  • Програм хангамжийн системийн тойм
  • Програм хангамжийн тойм
  • Мэдрэгчийн шалгалт тохируулга
  • MQTT сэдвийг нэрлэх конвенц
  • Дебаг ба алдаа хайх
  • Дизайныг туршиж байна
  • Дүгнэлт
  • Ашигласан лавлагаа

Цуврал холбоосууд 11 -р хэсэг: IoT Desktop Console. Хэсэг: 11 IoT, гэрийн автоматжуулалт

Алхам 1: Хэрэглэгчийн гарын авлага

Хэрэглэгчийн заавар
Хэрэглэгчийн заавар
Хэрэглэгчийн заавар
Хэрэглэгчийн заавар
Хэрэглэгчийн заавар
Хэрэглэгчийн заавар

Дээрх 1 -р зурагт Retro Speech Synthesizer -ийн урд тал, 2 -р зургийг харуулав.

Хашааны урд хэсэг

  1. Чанга яригч
  2. 3.5мм чихэвчний үүр: 3.5мм залгуур оруулах үед үндсэн чанга яригчийг идэвхгүй болгодог.
  3. Улаан LED: Энэ LED нь HTTP хүсэлтээр яриа эхлүүлэх үед үг хэлж байх үед гэрэлтдэг.
  4. Цэнхэр LED: Энэхүү LED нь MQTT IoT хүсэлтээр яриа эхлэх үед үг хэлж байх үед гэрэлтдэг.

Хашааны арын хэсэг

  1. Дахин тохируулах товч: ESP8266-07 IoT төхөөрөмжийг хатуу тохируулахад ашигладаг.
  2. Flash товчлуур: Дахин тохируулах товчлууртай хослуулан хэрэглэвэл ESP8266-07-ийг дахин асаах боломжтой болно.
  3. WiFi антен залгуур (SMA залгуур): Хөнгөн цагаан нь хаалттай байдаг тул гаднах WiFi антенны хувьд хамгийн бага давтамжтай RF -ийн замыг сулруулдаг.
  4. Гадаад програмчлалын порт: Дахин програмчлах зорилгоор ESP8266-07 руу нэвтрэхийн тулд хаалтыг задлах хэрэгцээг арилгахын тулд. ESP8266-07 програмчлалын зүүг гадаад програмчлалын порт руу гаргаж ирэв. Зураг 3 бол програмчлалын адаптер юм.
  5. Ногоон LED: Энэ бол IoT системээр удирддаг төхөөрөмж бөгөөд төхөөрөмжийн оношлогооны байдлыг харуулах, асаах, ажиллуулах явцад ашиглагддаг.
  6. Гадаад температур/чийгшил мэдрэгч (AM2320)
  7. SD картны үүр: Энэ нь тохиргоо/аюулгүй байдлын бүх өгөгдлийг вэб серверийн хуудастай хамт хадгалдаг.
  8. 2.1мм хангамжийн үүр 6vdc

Алхам 2: Хэлхээний тойм

Хэлхээний тойм
Хэлхээний тойм
Хэлхээний тойм
Хэлхээний тойм

Retro Speech Synth төхөөрөмж нь хоёр ПХБ -ээс бүрдэнэ;

  • RetroSpeechSynthIoTBoard: Энэ бол ерөнхий, дахин ашиглах боломжтой ESP8266-07/12/12E/13 ПХБ юм.
  • RetroSpeechSynthBoard: Энэ бол ерөнхий SP0256-AL2 ПХБ юм

Retro Speech Synth IoT Board

Энэхүү самбар нь ESP8266-07/12/12E/13 эсвэл ESP8266 зөөвөрлөгчийн ПХБ-ийн багтаамжтай 0.1 инчийн залгуурыг шууд гагнах боломжийг олгодог.

Энэхүү самбар нь I2C холболтоор I/O-ийг өргөтгөх зориулалттай бөгөөд Q1, Q2, R8-13-ээр дамжуулан 3v3 эсвэл 5v хангамжийн түвшинг дэмжих боломжтой.

Самбартай холбогдохыг J2 ба J4 гэсэн хоёр толгойн аль нэгээр, 8 талын DIL IDC тууз эсвэл 5 талын JST/Molex ашиглан хийдэг.

U2 ба U3 -ийн заалт 3.3v ба 5v -ийн самбар дээрх хангамжийн зохицуулалт. Түүнчлэн, хэрэв илүү их гүйдлийн хүчин чадал шаардлагатай бол J10 ба J11 холбогчоор холбосон серийн шунт зохицуулагчийг холбож болно.

J1 ба J3 холбогч нь SPI дээр SD картны гадаад дэмжлэгийг санал болгодог. J1 нь 8 талын Molex-д зориулагдсан бөгөөд J3 нь 3v3 эсвэл 5v-ийн дэмжлэгтэй SD картны ПХБ-ийн зүү нийцтэй байдлыг дэмжих шууд зүүтэй.

Retro Speech Synth Board

Энэхүү самбарыг хянах нь I2C 5v нийцтэй холболтыг J1, J5 эсвэл J6, 4 талын JST/Molex, 8 талын DIL IDC эсвэл 8 талын IDC тууз холбогчоор хийдэг.

U2 MPC23017 нь I2C-ийг U3 SP0256-AL2 ба LED D1 (Ногоон), D2 (Улаан), D3 (Цэнхэр) интерфейстэй холбож өгдөг. Speech Synth -ийн гаралтыг CR1 TBA820M аудио өсгөгч дээр RV1 аналог эсвэл U1 MCP4561 дижитал саванд дамжуулдаг.

Digital Pot U1 нь мөн 5V нийцтэй I2C -ээр хянагддаг.

Тэмдэглэл: ESP8266-07 төхөөрөмжийг хөнгөн цагаан хашлагад гадны WiFi антен оруулах боломжийг олгодог салшгүй IPX RF холбогчтой тул сонгосон.

Алхам 3: ПХБ -ийн үйлдвэрлэл ба угсралт

ПХБ -ийн үйлдвэрлэл ба угсралт
ПХБ -ийн үйлдвэрлэл ба угсралт
ПХБ -ийн үйлдвэрлэл ба угсралт
ПХБ -ийн үйлдвэрлэл ба угсралт
ПХБ -ийн үйлдвэрлэл ба угсралт
ПХБ -ийн үйлдвэрлэл ба угсралт
ПХБ -ийн үйлдвэрлэл ба угсралт
ПХБ -ийн үйлдвэрлэл ба угсралт

1 ба 2-р зурагнууд нь хөнгөн цагаан хаалтын дэвсгэр дээр байрлуулсан ПХБ-ийн дууссан болон утастай дэд хэсгүүдийг харуулав.

Хоёр ПХБ -ийг JLCPCB -ийн үйлдвэрлэсэн Kicad v4.0.7 ашиглан зохион бүтээсэн бөгөөд миний угсарч 3 -аас 13 -р зураг дээр үзүүлэв.

Алхам 4: Үйлдвэрлэл

Үйлдвэрлэл
Үйлдвэрлэл
Үйлдвэрлэл
Үйлдвэрлэл
Үйлдвэрлэл
Үйлдвэрлэл

Зураг 1 -т эцсийн угсрахаас өмнө Хэйнс гарын авлагын хэв маягийн бүх угсралтын хэсгүүдийг харуулав.

Зураг 2… 5 нь хашлага хийх явцад янз бүрийн зураг авалтыг хамгийн бага зайтай харуулдаг.

Алхам 5: Програм хангамжийн системийн тойм

Програм хангамжийн системийн тойм
Програм хангамжийн системийн тойм
Програм хангамжийн системийн тойм
Програм хангамжийн системийн тойм

Энэхүү IoT Retro Speech Synthesis Device нь дээрх 1 -р зурагт үзүүлсэн програм хангамжийн зургаан үндсэн бүрэлдэхүүн хэсгээс бүрдэнэ.

SD карт

Энэ бол гадны SD SPI Flash файлын систем бөгөөд дараах мэдээллийг хадгалахад ашиглагддаг (дээрх зураг 2 -ийг үзнэ үү);

  • Icons ба 'Speech Synth Configuration Home Page' index.htm: Таны IoT WiFi сүлжээнд холбогдох боломжгүй үед (ихэвчлэн аюулгүй байдлын буруу мэдээлэл, эсвэл анх удаа ашигласны улмаас) IoT төхөөрөмжөөр үйлчилдэг бөгөөд хэрэглэгчид хэрэгслээр хангадаг. Шинэ SD контентийг дахин асаах шаардлагагүй мэдрэгчийг алсаас тохируулах, index1.htm, mqtt.htm болон sp0256.htm-ийг агуулдаг бөгөөд эдгээр нь вэб хөтөч дээр нэвтрэх боломжтой орон нутгийн үйлчилгээтэй вэб хуудас бөгөөд ярианы синтезийг хязгаарлах боломжийг олгодог. HTTP дээр.
  • Аюулгүй байдлын мэдээлэл: Энэ нь таны IoT WiFi сүлжээ болон MQTT зуучлагчтай холбогдохын тулд IoT төхөөрөмжийг асаахад ашигладаг мэдээллийг агуулдаг. 'Speech Synth Configuration Home Page' -ээр илгээсэн мэдээллийг энэ файлд бичсэн болно ('secvals.txt').
  • Тохируулгын мэдээлэл: Файл доторх мэдээллийг ('calvals1.txt' ба 'calvals2.txt') шаардлагатай бол онгоцны температур/чийгшлийн мэдрэгчийг тохируулахад ашигладаг. Шалгалт тохируулгыг IQT төхөөрөмж дээр MQTT брокерын MQTT командыг ашиглан эсвэл SD картыг дахин асаах замаар бичиж болно. 'calvals1.txt' нь AM2320 мэдрэгчтэй, 'calvals2.txt' нь DHT22 -т хамаарна.
  • Хэрэглэгчийн тохируулж болох системийн утга: Хэрэглэгчийн сонгосон энэ файл доторх мэдээлэл ('confvals.txt') нь дижитал дууны анхны түвшин, MQTT брокерын захиалгын автомат "систем бэлэн" гэсэн зар зэрэг системийн зарим хариултыг хянадаг.

mDNS сервер

Энэ функц нь IoT төхөөрөмж нь WiFi сүлжээнд WiFi станц болж холбогдоогүй бөгөөд дотоодын WiFi чиглүүлэгчтэй төстэй WiFi хандалтын цэг болсон үед ашиглагддаг. Ийм чиглүүлэгчийн хувьд та ихэвчлэн хөтчийнхөө URL талбарт 192.168.1.1 (ихэвчлэн хайрцагт наасан шошгон дээр хэвлэгддэг) гэх мэт IP хаягийг оруулах замаар холбогдож, нэвтрэх хуудсыг хүлээн авах болно. хэрэглэгчийн нэр, нууц үг нь төхөөрөмжийг тохируулах боломжийг танд олгоно. AP горимд (хандалтын цэгийн горим) ESP8266-07-ийн хувьд төхөөрөмж нь анхдагчаар 192.168.4.1 IP хаягийг өгдөг боловч mDNS сервер ажиллаж байгаа тохиолдолд та хөтөчийн URL мөрөнд зөвхөн хүмүүст ээлтэй 'SPEECHSVR.local' нэрийг оруулах ёстой. 'Speech Synth -ийн тохиргооны нүүр хуудас' -г үзнэ үү.

MQTT үйлчлүүлэгч

MQTT үйлчлүүлэгч нь шаардлагатай бүх функцийг хангадаг; IoT сүлжээний MQTT брокертой холбогдож, сонгосон сэдвүүдээ захиалж, өгөгдсөн сэдвээр ачааллыг нийтлээрэй. Товчхондоо энэ нь IoT -ийн үндсэн функцийг хангаж өгдөг.

HTTP вэб сервер

Энэхүү вэб сервер нь хоёр зорилготой;

  1. Хэрэв IoT төхөөрөмж нь SD карт дээр хадгалагдсан Аюулгүй байдлын мэдээллийн файлд SSID, P/W гэх мэтийг тодорхойлсон WiFi сүлжээнд холбогдох боломжгүй бол төхөөрөмж хандалтын цэг болно. Хандалтын цэгээр хангагдсан WiFi сүлжээнд холбогдсоны дараа HTTP вэб сервер байгаа нь төхөөрөмж рүү шууд холбогдож, HTTP вэб хөтөч ашиглан тохиргоогоо өөрчлөх боломжийг олгодог бөгөөд энэ нь 'Speech Synth -ийн тохиргоог ашиглах явдал юм. Нүүр хуудасны вэб хуудас нь SD карт дээр байрладаг.
  2. IoT Retro Speech Synthesis Device нь WiFi сүлжээ болон MQTT брокерт холбогдсон тохиолдолд HTTP Вэб Сервер нь HTTP вэб хуудсыг автоматаар ажиллуулж, IoT төхөөрөмжийн хязгаарлагдмал хяналтыг ашиглан тогтсон хэллэгийг сонгох чадвартай болно. Улаан, цэнхэр гэсэн хоёр урд LED -ийг эргүүлнэ.

WiFi станц

Энэхүү функц нь IoT төхөөрөмжид Аюулгүй байдлын мэдээллийн файл дахь параметрүүдийг ашиглан дотоодын WiFi сүлжээнд холбогдох боломжийг олгодог бөгөөд ингэхгүй бол таны IoT төхөөрөмж MQTT брокерт бүртгүүлэх/нийтлэх боломжгүй болно.

WiFi хандалтын цэг

WiFi хандалтын цэг болох чадвар нь IoT төхөөрөмж нь WiFi станц, хөтөч ашиглан (Apple iPad дээрх Safari гэх мэт) түүнтэй холбогдох, тохиргоог өөрчлөх боломжийг олгодог хэрэгсэл юм. Энэхүү хандалтын цэг нь SSID = "SPEECHSYN" + IoT төхөөрөмжийн MAC хаягийн сүүлийн 6 цифрийг цацдаг. Энэхүү хаалттай сүлжээний нууц үгийг төсөөллийн дагуу 'PASSWORD' гэж нэрлэсэн болно.

Алхам 6: Програм хангамжийн тойм

Програм хангамжийн тойм
Програм хангамжийн тойм
Програм хангамжийн тойм
Програм хангамжийн тойм
Програм хангамжийн тойм
Програм хангамжийн тойм

Оршил

Энэхүү эх кодыг амжилттай эмхэтгэхийн тулд танд 12 -р алхам, ашигласан лавлагаа хэсэгт дурдсан кодын дотоод хуулбар, номын сан хэрэгтэй болно. Хэрэв та Arduino номын санг хэрхэн суулгахаа мэдэхгүй байгаа бол энд дарна уу.

Тойм

Програм хангамж нь дээр дурдсан 1-р зурагт үзүүлсэн шиг төрийн машиныг ашигладаг (энд байгаа миний GitHub репозитор дахь эх сурвалжийн бүрэн хуулбар). Доор тайлбарласан 5 үндсэн муж байдаг;

  • ҮҮН ДОТОР

    Энэхүү эхлүүлэх төлөв нь хүчийг асаасны дараа оруулсан анхны төлөв юм

  • NOCONFIG

    Энэ төлөвийг асаасны дараа хүчингүй эсвэл байхгүй secvals.txt файл илэрсэн тохиолдолд оруулна. Энэ үед тохиргооны хуудас харагдах болно

  • ХҮГЭЭЖ БАЙНА

    Энэ төлөв нь түр зуурын шинж чанартай бөгөөд Wi -Fi сүлжээнд холбогдоогүй байхад орсон байна

  • MQTT хүлээгдэж байна

    Энэ төлөв нь түр зуурын шинж чанартай бөгөөд WiFi сүлжээний холболт хийсний дараа ордог бөгөөд энэ сүлжээнд MQTT брокертой холбогдоогүй байна

  • Идэвхтэй

    Энэ бол WiFi сүлжээний холболт болон MQTT брокерын холболтыг байгуулсны дараа оруулдаг ердийн үйлдлийн төлөв юм. Энэ үед IoT Retro Speech Synthesis төхөөрөмжийн температур, дулааны индекс, чийгшлийг MQTT брокерт тогтмол нийтэлдэг. Энэ тохиолдолд Speech Synth -ийн нүүр хуудас харагдаж байна

Мужийн хоорондох шилжилтийг хянадаг үйл явдлуудыг дээрх 1 -р зурагт тайлбарласан болно. Муж хоорондын шилжилтийг мөн SecVals -ийн дараах параметрүүдээр зохицуулдаг;

  • 1 -р MQTT брокерын IP хаяг. AAA. BBB. CCC. DDD аравтын бутархай хэлбэрээр
  • 2 -р MQTT брокерын боомт. Бүтэн хэлбэрээр.
  • 3 -р MQTT брокерын холболт нь STA горимоос AP горимд шилжихээс өмнө хийхийг оролддог. Бүтэн хэлбэрээр.
  • 4 -р WiFi сүлжээний SSID. Чөлөөт хэлбэрээр текст.
  • 5 -р WiFi сүлжээний нууц үг. Чөлөөт хэлбэрээр текст.

Дээр дурдсанчлан хэрэв IoT төхөөрөмж нь WiFi сүлжээнд WiFi станц шиг холбогдож чадахгүй бол SSID ба P/W нь SD карт дээр хадгалагдсан secvals.txt файлд тодорхойлогдсон бол IoT төхөөрөмж нь хандалтын цэг болно. Энэ хандалтын цэгт холбогдсоны дараа дээрх зураг 2 -т үзүүлсэн шиг 'Speech Synth Configuration Home Page' (таны хөтчийн URL хаягийн мөрөнд 'SPEECHSVR.local' эсвэл 192.168.4.1 -ийг оруулснаар) үйлчилнэ. Энэхүү нүүр хуудас нь HTTP хөтөч ашиглан IoT Retro Speech Synthesis төхөөрөмжийг дахин тохируулах боломжийг олгодог.

Идэвхтэй төлөвт байх үед алсын хандалт

MQTT брокерт холбогдсоны дараа төхөөрөмжийг MQTT сэдвээр нийтлэх замаар дахин тохируулах, дахин тохируулах боломжтой болно. Calvals.txt файл нь R/W хандалттай бөгөөд secvals.txt нь зөвхөн бичих хандалттай байна.

Дээр дурдсанчлан, идэвхтэй горимд орсны дараа та хөтчийн URL хаягийн мөрөнд 'SPEECHSVR.local' эсвэл 192.168.4.1 -ийг оруулснаар HTTP интерфэйсээр дамжуулан Speech Synth руу нэвтрэх боломжтой болно. Энэхүү HTTP дээр суурилсан интерфэйс нь Speech Synth -ийг үндсэн хянах боломжийг олгодог. 3, 4, 5 -р зурагт байгаа вэб хуудсуудыг харуулав.

Хэрэглэгчийн дибаг хийх

Ачаалах дарааллын үед бүрхүүлийн арын хэсэгт байрлах IoT төхөөрөмжийн ногоон систем нь дараахь дибаг хийх санал хүсэлтийг өгдөг;

  • 1 Богино флаш: SD карт дээр байрлах Config файл байхгүй (secvals.txt)
  • 2 Богино анивчих: IoT төхөөрөмж WiFi сүлжээнд холбогдохыг оролдож байна
  • Тасралтгүй гэрэлтүүлэг: IoT төхөөрөмж MQTT брокертой холбогдохыг оролдож байна
  • Унтраалттай: төхөөрөмж идэвхтэй байна.

IoT Retro Speech Synthesis төхөөрөмжийн функц нь Идэвхтэй төлөвт байна

Идэвхтэй төлөвт орсны дараа ESP8266 нь дараах функцуудыг дуудах тасралтгүй давталтад ордог; timer_update (), checkTemperatureAndHumidity () ба handleSpeech () -ийг шалгана уу. Цэвэр үр дүн нь хэрэглэгчдэд HTTP эсвэл MQTT интерфэйсийг танилцуулах зорилготойгоор бүтээгдсэн хэлхээний процессорыг хэрэгцээнд нийцүүлэн фонемоор дамжуулж, орон нутгийн параметрийн утгыг MQTT дээр нийтэлдэг.

Ачааллын ачааллын утгыг багтаасан бүх сэдвийн захиалга, нийтлэлийн дэлгэрэнгүй жагсаалтыг эх кодонд оруулсан болно.

Алхам 7: Мэдрэгчийн шалгалт тохируулга

Мэдрэгчийн шалгалт тохируулга
Мэдрэгчийн шалгалт тохируулга

IoT төхөөрөмж асах үед ачаалах дарааллын нэг хэсэг болох 'cavals1.txt' ба 'cavals2.txt' гэсэн хоёр файлыг SD картнаас уншдаг.

Эдгээр файлуудын агуулга нь 1 -р зурагт үзүүлсэн шиг шалгалт тохируулгын тогтмолууд юм.

  1. 'cavals1.txt': Гадны AM2320 ашигладаг
  2. 'cavals2.txt': Дотоод DHT22 ашигладаг

Эдгээр тохируулгын тогтмолууд нь хоёр мэдрэгчээс олж авсан уншилтыг лавлах төхөөрөмжтэй нийцүүлэхийн тулд тохируулахад ашиглагддаг. Төхөөрөмж бүрийн тайлагнах стратегийг тодорхойлдог өөр нэг үнэ цэнэ байдаг бөгөөд мэдрэгчийг тохируулах журмын хамт доор тайлбарласан болно.

Тайлагнах стратеги

Энэ параметр нь алсын зайны мэдрэгч нь тухайн орчны параметрийн өөрчлөлтийг хэрхэн мэдээлдэгийг тодорхойлдог. Хэрэв 0 гэсэн утгыг сонгосон бол алсын мэдрэгч нь тухайн мэдрэгчийг унших бүртээ температур эсвэл чийгшилтэд гарсан өөрчлөлтийг нийтлэх болно (ойролцоогоор 10 секунд тутамд). Бусад утга нь өөрчлөлтийг нийтлэх хугацааг 1… 60 минутын хугацаагаар хойшлуулах болно. Энэ параметрийг өөрчлөх нь MQTT сүлжээний урсгалыг оновчтой болгох боломжийг олгодог. Мэдрэгч хязгаарлагдмал байгаа тул DHT22 -ийн температур, чийгшлийн мэдээллийг ээлжлэн уншдаг болохыг тэмдэглэх нь зүйтэй.

Температурын шалгалт тохируулга

Температур мэдрэгчийг тохируулахын тулд би 4 -р алхамд дурдсантай ижил үйл явцыг дагаж y = mx+c харьцааг дахин ашиглав. Би лавлагааны төхөөрөмж болгон IoT Temperature, чийгшлийн мэдрэгч №1 -ийг ашигласан. Мэдрэгчийн утгууд нь цельсийн градус байна.

Чийгийн шалгалт тохируулга

Орон нутгийн чийгшлийг нарийвчлан бүртгэх, хянах чадваргүй тул мэдрэгчийг тохируулахын тулд би дээрх алхам 4 -тэй ижил төстэй аргыг ашиглаж, дахин 1 -р мэдрэгчийг ашигласан болно. Дээр дурдсан боловч саяхан би вэб дээрээс чийгшил мэдрэгчийг хэрхэн тохируулах талаар бичсэн маш сайн нийтлэл олж авлаа. Ирээдүйд би энэ аргыг туршиж үзэж магадгүй юм. Мэдрэгчийн утга нь харьцангуй чийгшилтэй насны %байна.

Алхам 8: MQTT сэдвийг нэрлэх конвенц

MQTT сэдвийг нэрлэх конвенц
MQTT сэдвийг нэрлэх конвенц
MQTT сэдвийг нэрлэх конвенц
MQTT сэдвийг нэрлэх конвенц

Өмнө нь зааварчилгаанд дурдсанчлан (энд) би дээрх зураг 1 -д заасан сэдвийг нэрлэх конвенц дээр суурьшсан.

Тухайлбал, 'AccessMethod/DeviceType/whichDevice/Action/SubDevice' Энэ нь төгс биш боловч өгөгдсөн параметрийн сэдвээр бүх мэдрэгчийн гаралтыг харахын тулд ашигтай шүүлтүүрийг ашиглах боломжийг олгодог тул MQTTSpy -ийн дээрх 2 -р зураг дээрх шиг харьцуулах боломжийг олгодог.

Энэхүү төсөл нь нэг төхөөрөмж ижил төрлийн нийтлэлийн нэгээс олон эх сурвалжийг агуулсан анхны тохиолдол юм. өөрөөр хэлбэл. Дотоод болон гадаад дэд төхөөрөмжөөс хоёр температур/чийгшлийн мэдрэгч.

Энэ нь өгөгдсөн IoT төхөөрөмжийн функциональ боломжийн өргөтгөсөн логик бүлгүүдийг дэмждэг.

Эдгээр сэдвүүдийг програм хангамжид хэрэгжүүлэхдээ би RAM -г хэмнэж, гүйцэтгэлийг өндөр байлгахын тулд сэдвүүдийг ажиллуулах явцад динамикаар үүсгэхээс ялгаатай нь төхөөрөмж бүрийн хувьд тогтмол, суулгагдсан тоон тодорхойлогч бүхий хатуу кодчилсон сэдвийг ашигласан.

Тэмдэглэл: Хэрэв та MQTTSpy -ийг хэрхэн ашиглахаа мэдэхгүй байгаа бол эндээс MQTT брокерийг тохируулахыг үзнэ үү. 2 -р хэсэг: IoT, гэрийн автоматжуулалт

Алхам 9: Дебаг ба алдаа хайх

Дебаг ба алдаа хайх
Дебаг ба алдаа хайх

Ерөнхийдөө, миний хоббигийн төслүүдийн хувьд, хэрэв боломжтой бол би програм хангамжийг хөгжүүлэх зориулалттай тоног төхөөрөмжийн загварыг бүтээх хандлагатай байдаг бөгөөд програм хангамжийг эцсийн платформын техник хангамжид нэгтгэх нь надад ховор тохиолддог.

Гэсэн хэдий ч, энэ тохиолдлоор би зарим нэг фонемууд дуугарах боловч зарим нь дуугарахгүй хачирхалтай тасалдалтай таарлаа.

Arduino Uno ашиглан ярианы синтезийн ПХБ -ийг анхны дибаг хийсний дараа фонемыг эх сурвалж болгож, энэ самбар ажиллаж байгааг нотолсны дараа би IoT ПХБ ба Speech Synth ПХБ -ийн хоорондох I2C шугамыг судалж үзсэн. Дээрх 1 -р зургийг үзнэ үү.

Та ул мөр дээрх I2C дохионы 'харсан шүд'/экспоненциал ирмэгийг тодорхой харж болно.

Энэ нь ихэвчлэн I2C -ийн татах утга нь хэт өндөр байдгийн илрэл бөгөөд энэ нь нээлттэй ус зайлуулах хэлхээнд шугамын хүчдэлийг хурдан сэргээхээс сэргийлдэг.

"Ажиллахын тулд" би R12 ба R13 резисторуудыг 10К -тэй зэрэгцүүлэн 4K7 өгч, ярианы синтез "амьдралд нэвтэрсэн" гэдэгт итгэлтэй байна.

Энэ төрлийн бүтэлгүйтэл нь эдгээр төрлийн төслүүдийг дибаг хийх үед юу тохиолдож болохын эсрэг юм. Ерөнхийдөө Ebay -ээс худалдаж авсан I2C дээр суурилсан ихэнх модулиуд нь аль хэдийн суурилуулсан 10K эсвэл 4K7 татах төхөөрөмжтэй ирдэг. Хэрэв та> 5 I2C модулийг ашиглахаар төлөвлөж байгаа бол тус бүр нь 4K7 татах чадвартай бол нийт ачаалал 940R бөгөөд энэ нь мастерын гаралтын шатанд хэт их байх болно. Модуль тус бүр дээр нэг эсэргүүцэл татах эсэргүүцэлээс бусад бүх зүйлийг гагнах болно. Эзнээсээ бие махбодийн хувьд хамгийн хол байгаа нь дээр.

I2C төхөөрөмжөөр электроникийн загвар зохион бүтээхэд хэрэгтэй зөвлөгөө бөгөөд үүнийг анхаарч үзэх хэрэгтэй.

Алхам 10: Дизайныг турших

Image
Image
Дизайныг туршиж байна
Дизайныг туршиж байна
Дизайныг туршиж байна
Дизайныг туршиж байна

Туршилтыг хоёр аргыг ашиглан хийсэн; Гарын авлага ба автоматжуулсан.

Эхний кодыг боловсруулах явцад ашигласан анхны, гарын авлага, ерөнхийдөө MQTT Spy -ийг ашиглан захиалсан бүх сэдвүүдийг ашиглах, нийтлэгдсэн хариултуудыг шалгах (дээрх зураг 2 -т дүрсэлсэн). Гарын авлагын үйл ажиллагаа нь 100% хамрах хүрээг идэвхжүүлдэг боловч кодыг боловсруулах явц нь цаг хугацаа их шаарддаг бөгөөд алдаа гаргах магадлалтай байдаг.

MQTTSpy нь гарын авлагын туршилтыг сонгосон бөгөөд энэ нь өгөгдсөн ачааг гараар форматлах, аливаа сэдвээр хялбархан нийтлэх маш сайн хэрэгсэл юм. Энэ нь дибаг хийхэд маш хэрэгтэй цагийг тэмдэглэсэн логийг харуулдаг (дээрх зураг 3).

Эх код нь илүү төвөгтэй болсон (> 3700 мөр) болсон тул хоёр дахь автоматжуулсан аргыг ашигласан. Нарийн төвөгтэй байдал нэмэгдэх нь гараар хийх туршилтын хугацаа, илүү нарийн туршилтыг хэлнэ. Туршилтын найдвартай байдал, детерминизм, чанарыг сайжруулахын тулд python тестийн гүйцэтгэх удирдлагаар дамжуулан автомат туршилтыг ашигласан болно (Зураг 1). Автомат тестийг хэрхэн нэвтрүүлсэн тухай энэхүү зааврын 10 -р алхамыг үзнэ үү. Энэхүү зааварт ашигласан автомат тестийн бүрэн хуулбарыг эндээс авах боломжтой.

Туршилтын автомат дарааллын видеог дээр харуулав. Дараалал нь дараах алхмуудыг гүйцэтгэдэг;

  • MQTT -ээр автоматжуулсан

    • MQTT -ийн нуруунд холбогдож 'Систем бэлэн байна' гэж мэдэгдээрэй.
    • Ногоон LED дасгал хий
    • Улаан LED дасгал хийх
    • Цэнхэр LED дасгал хий
    • Digital Pot ажиллаж байгааг шалгана уу
    • Фонем ашиглан ярь
    • Телефон утасны Hex код ашиглан ярина уу
    • Үг хэллэгийг засах код ашиглан ярь
    • Dr Who болон Daleks нар жаахан хөгжилтэй байна.
  • HTTP/Chrome ашиглан гараар

    • Цэнхэр LED дасгал хий
    • Улаан LED дасгал хийх
    • 'Steven Quinn', 'System Ready', 'Hello World' гэсэн тогтмол хэллэгүүдийг ярь.
    • HTTP сервертэй болоорой

      • Speech Synth чипийн талаархи дэлгэрэнгүй мэдээлэл
      • MQTT -ийн дэлгэрэнгүй мэдээлэл

Алхам 11: Дүгнэлт

Дүгнэлт
Дүгнэлт

Ялангуяа чанга яригчны торны хувьд файл, өрөм гэх мэт маш их хүчин чармайлт гаргасан боловч үр дүн нь гоо зүйн хувьд тааламжтай бөгөөд жижигхэн хашлагад багтдаг гэж би бодож байна. Би үүнийг жижиг болгож болох байсан, гэхдээ үүнийг нэг ПХБ дээр хийх шаардлагатай байсан бөгөөд би үүнийг санаатайгаар хоёр хуваасан тул дараа нь бусад төслүүдэд ПХБ-ийг дахин ашиглах боломжтой болсон. Тиймээс энэ бол аз жаргалтай буулт юм.

Програм хангамж сайн ажилладаг, IoT төхөөрөмж нэлээд удаан хугацаанд ямар ч асуудалгүй тогтвортой ажиллаж байна.

Би Grafana-ээр дамжуулан температур, чийгшлийг хянаж, хамт байрлуулсан төхөөрөмжтэй харьцуулж үзсэн. Байгаль орчны хоёр утга хоорондоо сайн уялдаатай байсан тул шалгалт тохируулга нь боломжийн (эсвэл дор хаяж ижил төстэй) гэсэн үг юм.

Цаг дууссан тул үргэлжлүүлэх шаардлагатай болсон тул би үгийн командыг ('WFD/SpeechTH/1/Word/Command') хэрэгжүүлэхээ больсон. Хэрэв би MySQL мэдээллийн баазыг тохируулсан бол үүнийг дахин үзэх боломжтой. Яг одоо би InfluxDB ашиглаж байна.

Алхам 12: Ашигласан лавлагаа

Энэхүү зааврыг нэгтгэхэд дараах эх сурвалжийг ашигласан болно; IoT Retro Speech Synthesis төхөөрөмжийн эх код (үүнд бүх зүйлийн хуулбарыг оруулсан болно)

https://github.com/SteveQuinn1/IoT_Retro_Speech_Synthesis_SP0256_AL2

PubSubClient.h

  • Оруулсан: Ник О'Лири
  • Зорилго: Төхөөрөмжийг өгөгдсөн брокероор MQTT сэдвийг нийтлэх эсвэл захиалах боломжийг олгодог
  • Хаанаас:

DHT.h

  • Оруулсан: Adafruit
  • Зорилго: DHT11DHT22 гэх мэт Arduino номын сан, Температур ба чийгшил мэдрэгч
  • Хаанаас:

Adafruit_AM2320.h/Adafruit_Sensor.h

  • Оруулсан: Adafruit
  • Зорилго: AM2320 гэх мэт Arduino номын сан, Температур ба чийгшил мэдрэгч
  • Хаанаас:

MCP4561_DIGI_POT.h

  • Оруулсан: Стив Куинн
  • Зорилго: MCP4561 дижитал потенциометрийн Arduino номын сан
  • Хаанаас:

Adafruit_MCP23017.h

  • Оруулсан: Стив Куинн
  • Зорилго: MCP23017 I2C Port Expander -д зориулсан Arduino номын сан. Энэ бол Adafruit-ийн Adafruit-MCP23017-Arduino-Номын сангийн GITHub салаа юм.
  • Хаанаас:

Зугаацахын тулд

https://haynes.com/en-gb/

ПХБ -ийн үйлдвэрлэл

https://jlcpcb.com/

Нэмэлт Arduino номын сан суулгах

https://www.arduino.cc/en/Guide/Libraries

Чийгийн мэдрэгчийг хэрхэн шалгаж, тохируулах вэ

https://www.allaboutcircuits.com/projects/how-to-check-and-calibrate-a-humidity-sensor/?utm_source=All+About+Circuits+Members&utm_campaign=ffeee38e54-EMAIL_CAMPAIGe_57_m2_87_2017_12_07 /

SP0256-AL2 мэдээллийн хуудас

https://www.futurebots.com/spo256.pdf

Ярианы чип дэлгүүр

https://www.speechchips.com/shop/

Arduino тэмцээн 2019
Arduino тэмцээн 2019
Arduino тэмцээн 2019
Arduino тэмцээн 2019

Arduino 2019 тэмцээнд дэд байр эзэлсэн

Зөвлөмж болгож буй: