Table of Contents

WiFi-Controlled Car

Autor

Baciu Marius Cristian

Introducere

Scopul temei consta in proiectarea controlului unei masini prin intermediul unei conexiuni client-server peste tcp. Comenzile de control vor fi accesibile printr-o aplicatie pe un dispozitiv mobil, fiind posibila deplasarea masinii si, eventual, aprinderea/stingerea unor leduri atasate.

Pe langa motivul evident pentru a implementa acesta idee (it's fun), se doreste depasirea limitelor legate de range-ul de actiune - impus de modalitatea de comunicare dispozitiv mobil - microController - prin conectarea la Internet; de asemenea, exista numeroase posibilitati de extindere a proiectului (ex: atasarea unei camere video).

Descriere Generala

Schema Bloc:

Hardware Design

Lista piese:

Schema Electrica

bmc_schematic.jpg

Software Design

Exista 3 componente principale ale partii de software ce merita atentie:

- aplicatia mobila [2]→ s-a ales implementarea in AndroidStudio, ceea ce a presupus definirea designului aplicatiei si implementarea unui client TCP in Java , mesajele trimise serverului corespunzand event-urilor generate de apasarea butoanelor ce controleaza masina.

- serverul TCP [3]→ creat in cadrul modulului de WiFi ESP8266. Mare parte din efort a fost depus in programarea modulului - instalarea firmware-ului si a SDK-ului; ca si firmware s-a ales NodeMCU, implementarea serverului fiind realizata in limbajul Lua; aceasta a constat in configurarea comunicatiei cu ATMega prin USART, conectarea la o retea, ascultarea de mesaje pe un socket deschis si transmiterea acestora mai departe pe seriala.

- codul incarcat pe ATMega [1]→ a fost evitata folosirea apelurilor de tip delay, utilizandu-se intreruperi - la primirea datelor prin USART - si un timer pentru a realiza efectul de 'semnalizare' a ledurilor. De asemenea, tehnica PWM a fost necesara in controlarea vitezei motoarelor.

Rezultate Obtinute

Proiectul a fost realizat cu succes, fiind complet functional. Unica problema intampinata, nerezolvata a fost legata de alimentare, descarcarea bateriilor realizandu-se rapid bmc_wifi_car.jpg

Download

[1] bmc_c_sources.zip

[2] bmc_android_app.zip

[3] bmc_lua_server.zip

Jurnal

Bibliografie/Resurse

https://developer.android.com/guide

https://nodemcu.readthedocs.io/en/master/

https://www.lua.org/manual/5.3/manual.html

https://tttapa.github.io/ESP8266/Chap01%20-%20ESP8266.html

https://github.com/espressif/esptool

https://github.com/espressif/ESP8266_NONOS_SDK

http://cs.curs.pub.ro/wiki/pm/lab/lab2

http://cs.curs.pub.ro/wiki/pm/lab/lab3

|WifiControlledCar.pdf