Мазмуну:

Mappifier - Mapping + Notification System: 9 Steps
Mappifier - Mapping + Notification System: 9 Steps

Video: Mappifier - Mapping + Notification System: 9 Steps

Video: Mappifier - Mapping + Notification System: 9 Steps
Video: Как быстро убрать жирный блеск с лица | Retouch4Me Mattifier 2024, Июнь
Anonim
Mappifier - Mapping + Notification System
Mappifier - Mapping + Notification System

Түнкү айдоо абдан кызыктуу. Бирок, көбүнчө, бул жолдон өтүп бараткан жаныбарлар түрүндө, коркунучтуу түш болуп калат (айрыкча, жолбун мышыктар жана иттер, алар сенин жанынан өтүшү үчүн, алардын жанында машинаңды күтүшөт !!). Ошентип, мен бул аярлуу жерлерге жакындаганда эскертүүчү нерсе кылууну ойлодум.

Система эки бөлүктөн турат: Маалыматтарды чогултуу жана маалыматтарды алуу. Биринчи бөлүк жаныбарлардын өтүү ыктымалдыгы көбүрөөк болгон жерлерди камтыйт. Бул маалыматтар кол менен кошулуп, картада жаңыртылышы керек. Акыркы бөлүк учурдагы жайгашкан жерибизди алат, анан аны чогултулган маалыматтар менен салыштырып, тиешелүү билдирмелер же эскертүүлөр берилет.

Жабдуулар

Колдонулган жабдык

ESP8266 WiFi өнүктүрүү тактасы

Ublox NEO-6M GPS модулу

LED

Бир маалда басуу баскычы

Колдонулган Программалык камсыздоо

Arduino IDE

Бардык JavaScript редактору

Firebase (маалыматтарды сактоо жана алуу үчүн)

1 -кадам: Аппараттык блок

Аппаратура эки жол менен иштөө үчүн талап кылынат (режимдер): 1) Жайгашкан жерди маалымат базасына сактоо: Бул маалыматтарды чогултуу процессинин негизги бөлүгү; GPS модулу аркылуу алынган жер ESP8266 WiFi өнүктүрүү тактасы аркылуу firebase маалымат базасына жөнөтүлөт.

2) Чабыттоо учурунда эскертмелерди берүү: Чабыттоо учурунда учурдагы жайгашкан жери алынат жана маалымат базасына жөнөтүлөт. Жайгашкан жерди ар бир жаңыртууда, учурдагы жайгашуу менен ошол жерлердин ортосундагы аралык (маалыматтарды чогултуу процессинде сакталган) эсептелет жана ESP8266 модулу менен калыбына келтирилет, андан кийин колдонуучу ошол сакталган жерлерден канчалык жакын экенине жараша эскертет.

Мен режимдердин өзгөрүшүн кабарлоо үчүн үч LED коштум, ошондой эле маалымат базасына ийгиликтүү жаңыртууну жана колдонуучунун сакталган жерге жакындыгын кабарлоо үчүн эскертүү чырагын коштум.

Басуу баскычы жайгашкан жерди бир чыкылдатуу менен сактоо үчүн колдонулат (дүкөндө/маалыматтарды чогултуу режиминде), ошондой эле бул режимдердин ортосунда өзгөртүү үчүн.

Кубаттоо

Башында 3.7V 300mAh Lipo батареясы колдонулган, бирок ал кээ бир көйгөйлөрдү жараткан. Негизги көйгөй ESP8266 баштапкы абалга келтирүү болгон (учурдагы чукулдарга байланыштуу болушу мүмкүн). Ошондой эле батарея көпкө созулган жок. Акыры бир powerbank мага жардамга келди.

2 -кадам: Circuit

Circuit
Circuit

3 -кадам: Firebase жөнүндө

Firebase жөнүндө
Firebase жөнүндө
Firebase жөнүндө
Firebase жөнүндө
Firebase жөнүндө
Firebase жөнүндө
Firebase жөнүндө
Firebase жөнүндө

Firebase - Googleга таандык мобилдик жана веб -тиркемелерди иштеп чыгуу платформасы. Анын көптөгөн өзгөчөлүктөрү бар, бирок бул жерде мен алардын экөөнү гана колдонуп жатам, Realtime Database жана Cloud Functions.

Firebaseде баштоо үчүн, 1. Биринчиден, firebase веб -баракчасына өтүңүз.

2. Эми консолго өтүңүз жана жаңы долбоор түзүүнү басыңыз.

3. Сиз долбоорду түзүү үчүн башка деталдар менен бирге долбоордун атын көрсөтүшүңүз керек.

4. Долбоор түзүлгөндөн кийин, жаңы маалымат базасын түзүү үчүн капталдагы панельдеги маалымат базасынын тандоосун чыкылдатыңыз.

5. Функциялар үчүн да ушундай кылыңыз.

Бул долбоорду түзүүнүн жалпы кадамдары, firebase жакшы документтештирилген жана жаңыдан үйрөнүүчүлөр үчүн көптөгөн youtube видео сериялары бар, көбүрөөк түшүнүү үчүн өтүңүз.

4 -кадам: Realtime Database

Realtime Database
Realtime Database
Realtime Database
Realtime Database

Маалыматтар базасын түзгөндөн кийин, кийинки кадам - бул маалымат базасындагы маалыматтын кантип сакталарын жана ага кантип кирүүгө болорун көрүү. Маалымат базасына жазуу же окуу үчүн маалымат базасынын эрежелерин конфигурациялоо керек. Иштеп чыгуу максатында, биз ачык эрежени колдоно алабыз, ошондо маалымат базасына шилтемеси барлар окуй/жаза алат, бирок эрежелерди конфигурациялоодо этият болушат. Базалар JSON форматында маалыматтарды сактайт жана туташкан бардык түзмөктөр менен шайкештирилет. Сиз "+" белгисин колдонуп, бирок түйүндөрдү программалык түрдө түзсөңүз болот. Биз маалымат базасына "дүкөн" режиминде (чогултулган жерди сактоо) жүктөгөн бардык маалыматтар бул жерде өзүнчө түйүн катары сакталат, ал эми "кабарлоо" режиминдеги маалыматтар (навигация учурунда маалыматтарды алуу) ар дайым жаңыртылып турат (сүрөттү текшерүү).

5 -кадам: Firebase функцияларын орнотуу

Firebase функцияларын орнотуу
Firebase функцияларын орнотуу
Firebase функцияларын орнотуу
Firebase функцияларын орнотуу
Firebase функцияларын орнотуу
Firebase функцияларын орнотуу

Бизге сакталган жерлерге учурдагы жайгашкан жердин жакындыгын эсептөө үчүн бир нерсе керек, жана маалымат базасы иштеткен функциялар биздин жумушту аткармак. Функциялар javascriptте жазылган жана аларды отко жайгаштыруу керек.

Сиз компьютериңизде node.js орнотулган болушуңуз керек.

1) Эми командалык сапта "npm install -g firebase -tools" командасын колдонуп, firebase командалык сап интерфейсин жүктөп алыңыз.

2) Эми сиз "firebase login" буйругун колдонуу менен firebaseге киришиңиз керек (эгер сиз буга чейин кире элек болсоңуз, gmail логин сырсөзүңүздү бериш керек)

3) Ушундан кийин долбооруңуздун каталогуна өтүңүз жана "firebase init" буйругу менен функцияны баштаңыз. Долбооруңуз үчүн firebase функцияларын баштоо үчүн "функцияларды" тандооңуз керек.

4) Эми сиз проект каталогуңуздагы 'функциялар' папкасына барып, 'index.js' файлын табышыңыз керек.

5) Файлды текст редактору менен түзөтүңүз жана файлды түзөтүңүз/файлды mappifier_function.txt менен алмаштырыңыз. (Бул натыйжалуу биздин функция болмок)

6) Акыр -аягы, сиздин буйругуңузга "firebase deploy" колдонуп, функцияңызды жайгаштырыңыз.

Функциянын Firebase консолундагы функция менюсунда орнотулгандыгын текшере аласыз

6 -кадам: Код

Code
Code
Code
Code
Code
Code

ESP8266 үчүн:

Такта WiFi жана Firebaseге ишеним грамоталарын колдонуп туташат жана баскычты басууну күтөт. Баскычты басуу мөөнөтүнө жараша, ар кандай режимдер башталат. Маалымат чогултуу режиминде (келгиле, бул "дүкөн" режимин атайлы), ар бир баскычты басуу учурдагы абалды маалымат базасына жөнөтүүгө алып келет, ал эми маалыматтарды издөө режиминде ("кабарлоо режими"), учурдагы жайгашкан жер маалымат базасына жөнөтүлөт жана аралык автоматтык түрдө маалымат базасынан алынат. Мен эскертүүлөр (белгиленген жерге жакындык) жана кабарлоо үчүн LED коштум (GPSти оңдоо, WiFi байланышы, маалымат базасынын ийгиликтүү жазылышы, режимдин өзгөрүшү ж.б.).

Firebase Функциясы үчүн:

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

Программаңызды жүктөөдөн мурун wifi грамоталарын жана firebase аутентификациясын кошууну унутпаңыз. (Сүрөттөрдү караңыз). Ошондой эле, эгер сиз ESP8266 үчүн жаңы болсоңуз жана аларды Arduino IDEде коддоп жатсаңыз, буларга кайрылыңыз.

7 -кадам: Кошумча кадам (Корпус куруу)

Кошумча кадам (корпус куруу)
Кошумча кадам (корпус куруу)
Кошумча кадам (корпус куруу)
Кошумча кадам (корпус куруу)
Кошумча кадам (корпус куруу)
Кошумча кадам (корпус куруу)
Кошумча кадам (корпус куруу)
Кошумча кадам (корпус куруу)

Аппараттык бөлүктү компакт кылып орнотуу үчүн, мен аларды ичине батыра турган кичинекей корпус жасадым. Жарык диоддорун орнотуу жана USB кабелин туташтыруу үчүн бир нече тешик жасалган. Бирок акыркы корпус мен күткөндөн да ашып түштү !! Ал менин алаканымдын ичине эң сонун орнотулган, ал велосипеддин туткасына жана рулга оңой орнотула турган.

8 -кадам: Иш -аракет…

Бул жерде эскертме жана эскертме диоддору бар эки режимди тең (дүкөн жана кабарлоо) көрсөткөн кичинекей видео.

9 -кадам: Алга жылуу…

Мындан ары жылууда…
Мындан ары жылууда…

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

Мен веб -баракчаларды (негизинен javascript) жана башка нерселерди жасоодо жаңылыкмын жана сиздин сунуштарыңыз менен тажрыйбаңызды каалайм:)

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