Skocz do zawartości

Kontrola wagi dostępna z aplikacji


wroblj

Pomocna odpowiedź

Cześć jestem nowym użytkownikiem z raczej 0 wiedzą o elektronice, ale z dosyć sporą jeżeli chodzi o programowanie w JS. Wierze, że z waszą pomocą i po znaniu jakiś podstaw przebrnę temat :)

Potrzebuje stworzyć aplikację, która będzie informować użytkownika o tym że waga np talerza z owocami uległa zmianie (np ktoś coś z niego zabrał albo dołożył). Urządzenie spina się z wifi dzięki czemu użytkownik będący np w innym mieście dostaje powiadomienia. W przyszłości chciałbym dołożyć do tego czujnik temperatury i ruchu ale zakładam że najpierw trzeba zrobić bazę a potem można sobie to rozbudowywać.

Pytanie co musze mieć i wiedzieć żeby to osiągnąć? Zakładam że kupuje się jakieś moduły (mile widziane przykłady) i pisze się skrypt który to ogarnia (jaki język python? jakie IDE?)

Link do komentarza
Share on other sites

@wroblj witam na forum 🙂

Jeśli koniecznie chcesz pisać w Pythonie to wybierz Raspberry Pi, ale to będzie strzelanie z armaty do muchy. Lepiej wykorzystać tutaj małe ESP, które będziesz mógł zaprogramować w Arduino. Ogólnie temat nie brzmi zbyt skomplikowanie. Zastanów się tylko jakiej precyzji pomiarów oczekujesz. Precyzyjne wagi to ciężki temat, a jeśli do tego jeszcze dochodzi jakiś ruch to pojawiają się problemy ze stabilnymi odczytami. Jaki ubytek masy z talerza chcesz odnotowywać?

Link do komentarza
Share on other sites

(edytowany)

@Treker dziękuje 🙂

Zdecydowanie wolę prostszą opcję i nie upieram się na pythona czy raspberry Pi, zależy mi na prostym i tanim rozwiązaniu 🙂 Poza tym jestem zwolennikiem zrobienia czegoś i potem rozwijania niż porywania się na cos mocno złożonego i finalnie tego nie zrobienie 🙂 Co do precyzji hmm fajnie by było do 1g, ale nie będę grymasić jak to będzie 2-3g. Co do pomiarów to będę brał pod uwagę średnią z wag np co 5s i jeżeli przez 30s nic się nie zmieni to znaczy że ktoś coś zabrał (w przypadku mniejszego pomiaru od wagi przed zdarzeniem) lu dołożył (kiedy waga się zwiększyła). To takie założenia na szybko pewnie trzeba będzie to bardziej sprecyzować.

Ogółem część Frontową chce napisać w NativeScript gdyż będę miał załatwiony temat dla Androida i iOSa tylko jak się komunikować z elektroniką? czy robi się jakiś backend który spinam z frontem jak serwis?

Dziękuje i pozdrawiam.

 

Edytowano przez wroblj
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

(edytowany)
Cytat

Zdecydowanie wolę prostszą opcję i nie upieram się na pythona czy raspberry Pi

więc chyba Arduino? poza tym będę wdzięczny za kilka słów jak wygląda flow tworzenia takiego rozwiązania np. aby zrobić coś takiego musisz:

1. mieć moduł / płytkę np model xyc etc...

2. postawić środowisko (jakie?) które będzie się komunikować z elektroniką (jak?)

3. część aplikacyjna (frontowa) komunikuje się z backendem (zakładam że tak jest, przy pomocy?) a ten z kolei gada z kontrolerami elektroniki (jak? jak dispatchowane są eventy? skąd front wie że elektronika zarejestrowała np zmiane temperatury)

Proszę o takie krótkie wprowadzenie żeby miał punkt wyjścia i zaczepienia przy poszukiwaniach w google. Wolę wiedzieć czego mam szukać niż poznawać coś czego nie użyje i palić czas błądząc. Dla kogoś to będzie 5 min pisania a dla mnie oszczędność kilku dni. Dziękuje za zrozumienie 🙂

Edytowano przez wroblj
Link do komentarza
Share on other sites

(edytowany)

Odp. w stylu masz kurs budowy samochodu tam znajdziesz wszystko mimo że chce zmienić koło xD wiedzę ile masz postów i ciesze się z Twojego obycia w tym temacie, ale chętnie poczekam na posty innych 🙂 Może pojawią się takie, które coś wniosą do mojego topika i pozwolą szybko wejść w temat bo jak to mówią czas to pieniądz 🙂 

Edytowano przez wroblj
Link do komentarza
Share on other sites

Ale naprawdę, jeśli chcesz sam coś zrobić w dziedzinie elektroniki i programowania mikrokontrolerów, mając jako takie pojęcie wyłącznie o przeglądarkowej wersji JavaScriptu to lepiej przejrzyj sobie te kursy, a potem zadawaj pytania. Po pierwsze - nikt Ci tu nie będzie streszczać treści kursów (bo do tego Twoje wymagania się sprowadzają), po drugie więcej czasu stracisz na próbę przyswojenia sobie podstawowych rzeczy (np. zrozumienie tego, że mikrokontroler to nie przeglądarka i eventów nie dispatchuje - co by to słowo miało znaczyć) niż mając o tym jako-takie pojęcie (łącznie z czasem potrzebnym na zmianę pojęcia z zerowe na jako-takie). Nikt Ci nie każe błądzić po googlach ani uczyć się wszystkiego - po prosto przejrzyj to sobie.

Bo z tego co widzę to jesteś w sytuacji faceta, który co prawda chce zmienić koło ale nie wie jak ono wygląda, gdzie ono jest i do czego służy, a przede wszystkim nie ma zielonego pojęcia dlaczego chce je zmienić.

 

Link do komentarza
Share on other sites

hmm w porządku zapoznam się z tematem i wrócę do tego tematu i sam sobie odp na te pytania, pokaże że sie da 🙂 

Cytat

a przede wszystkim nie ma zielonego pojęcia dlaczego chce je zmienić.

oczywiście że mam, tylko nie mogę napisać o co konkretnie chodzi bo to nisza na rynku.. Jak długo można być programistą? trzeba lokować kapitał bo na zus nie ma co liczyć😉 Tak czy siak dziękuje Panom za poświęcony czas 🙂 

Link do komentarza
Share on other sites

17 minut temu, wroblj napisał:

hmm w porządku zapoznam się z tematem i wrócę do tego tematu i sam sobie odp na te pytania, pokaże że sie da

Nie rób z siebie obrażonej księżniczki bo tutaj to nie działa. Zapoznaj się i albo wróć albo nie - szczerze mówiąc, nie bardzo wiem dlaczego miałoby to kogokolwiek obchodzić. Pamiętaj: możemy Ci pomóc (po to jest to forum), ale nikt nie będzie tłumaczył Ci podstaw ani tym bardziej robić czegokolwiek za Ciebie.

Poza tym zawsze możesz zlecić komuś odpłatnie napisanie aplikacji i opracowanie/wykonanie elektroniki - jest nawet od tego odnośny dział na forum.

 

Link do komentarza
Share on other sites

36 minut temu, ethanak napisał:

Poza tym zawsze możesz zlecić komuś odpłatnie napisanie aplikacji i opracowanie/wykonanie elektroniki - jest nawet od tego odnośny dział na forum.

 

Swoją drogą, ciekaw jestem czy coś takiego się kiedykolwiek tu udało. Z tego, co widzę w tym dziale, są to zazwyczaj projekty albo mało realistyczne, albo tak proste, że poświęcony na to wszystko czas znacznie przewyższa wartością efekt. Ktoś kiedyś robił coś takiego i mógłby się podzielić wrażeniami?

Link do komentarza
Share on other sites

Cześć,

pisałeś, że znasz dobrze Javascript. Jeśli tak to masz opcję żeby zaprogramować ESP32 lub ESP8266 w Node.js. Jest trochę odchudzona wersja Node.js na mikro-kontrolery nazywa się low.js . Tutaj link do niej:

https://www.lowjs.org

Kup sobie tanią płytkę z ESP32 (32-bitowy CPU  taktowany 260 MHz z Bluettoth i WiFi). Np. jedną z takich:

https://www.banggood.com/ESP32-Development-Board-WiFibluetooth-Ultra-Low-Power-Consumption-Dual-Cores-ESP-32-ESP-32S-Board-p-1109512.html?rmmds=search&cur_warehouse=CN

https://www.banggood.com/Wemos-ESP32-OLED-Module-For-Arduino-ESP32-OLED-WiFi-Modules-Bluetooth-Dual-ESP-32-p-1181297.html?rmmds=search&cur_warehouse=CN

Tutaj masz czujniki siły nacisku - dobierz sobie coś w zakresie w którym chcesz mierzyć:

https://botland.com.pl/pl/191-czujniki-nacisku

Pozdrawiam

BTW: tutaj masz link do "Hello World" w low.js:

https://techtutorialsx.com/2019/01/28/esp32-low-js-hello-world/

Edytowano przez FlyingDutch
  • Lubię! 1
Link do komentarza
Share on other sites

Skoro znasz JS to proponuję użyć node.js. Dokładnie jak zasugerował @FlyingDutch, tylko odradzałbym esp32. Okrojone wersje to nic dobrego i wymagają nieco więcej wiedzy. Najprościej użyć RPi, zainstalować node.js i można zaczynać programowanie.

  • Lubię! 1
Link do komentarza
Share on other sites

49 minut temu, Elvis napisał:

Skoro znasz JS to proponuję użyć node.js. Dokładnie jak zasugerował @FlyingDutch, tylko odradzałbym esp32. Okrojone wersje to nic dobrego i wymagają nieco więcej wiedzy. Najprościej użyć RPi, zainstalować node.js i można zai opis APIczynać programowanie.

Cześć Elvis,

często mamy podobne punkty widzenia na wiele spraw, ale teraz troszeczkę nie rozumiem dlaczego odradzasz tą wersję zoptymalizowaną  pod kątem ESP32. Małe różnice występują w stosunku do oryginału, ale jest na stronie projektu dość dobra dokumentacja i opis API.

Pozdrawiam

 

  • Lubię! 1
Link do komentarza
Share on other sites

Raczej chodziło mi o łatwość i wygodę. Używająć RPi nożna biblioteki instalować używając npm, co więcej gotowce mają większe szanse na działanie w pełnej wersji. Dlatego na początek radziłbym pełnego node.js, później można próbować sił z czymś innym, może ciekawszym.

  • Lubię! 2
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.