SmartLodowkaSimpleSchema
Programmer's notes

Hello “Smart Lodówka”

2 130

Dziś rozpoczyna się konkurs “Daj się poznać“. Zgłosiłem się do niego z projektem, który od pewnego już czasu chodził mi po głowie i niedawno zabrałem się za jego realizację. Projekt z gatunku lub pogranicza Internetu Rzeczy (Internet of Things – IoT) oraz Inteligentnego Domu (Smart Home). W swoich założeniach ma być pewną pomocą w “zarządzaniu artykułami spożywczymi” w mojej lodówce. Wiem, że może wydawać się to trochę dziwne, że do takiej czynności potrzebna jest dodatkowa inteligencja, ale osobiście podoba mi się wizja powiadomienia mnie o zbliżającym się terminie ważności jogurtu czy mleka, a może nawet złożenia automatycznego zamówienia na kończące się produkty. Nie zawsze też pamiętam czy mam jeszcze jajka czy już może się skończyły, albo np. zostało tylko 2 :) Pomyślałem więc, że zacznę stopniowo dodawać inteligencję mojej lodówce.

Głównym elementem projektu jest najlepiej sprzedający się komputer w UK: Raspberry Pi. Będzie on odpowiedzialny za zbieranie informacji z różnych “czujników” i wysyłanie ich na serwer w Internecie. Na serwerze będzie sobie API, które zapisze komunikaty od mojej lodówki. Poniżej uproszczony schemat całego rozwiązania:

SmartLodowkaSimpleSchema

Na malince skrypt (?) w Pythonie będzie monitorował pewne zdarzenia i wysyłał je na serwer. Dodatkowo powstanie strona, taki Panel Administracyjny, gdzie będzie widoczny aktualny status oraz historia.  Zastanawiałem się, czy nie pójść w stronę Windows IoT + C#, ale chyba skorzystam z okazji i nauczę się Pythona, o którym słyszałem wiele dobrego.

Projekt podzieliłem na etapy:

  • Etap A: Uruchomienie Raspberry Pi i zaznajomienie się z jej możliwościami. Tutaj chcę też napisać kilka prostych skryptów w Pythonie, bo będę się go uczył od podstaw, także zapewne powstanie trochę kodu “dookoła” Smart Lodówki
  • Etap B: Stworzenie API do zapisu / odczytu komunikatów o zdarzeniach. Dodatkowo bardzo prosta strona CRUDowa do testów
  • Etap C: Obsługa podstawowych komunikatów: OTWARCIE_LODÓWKI oraz ZAMKNIĘCIE_LODÓWKI. Plus prosta wersja strony Panelu Administracyjnego ze statystykami. Jeszcze nie podjąłem decyzji w czym będzie ona zrobiona
  • Etap D: Dodanie dodatkowych elementów do malinki. Nie zrobiłem jeszcze dokładnego rozeznania, ale widzę tu coś w stylu: kamera, czytnik kodów kreskowych, panel dotykowy. To jest najmniej sprecyzowany etap projektu. Chcę w szybki i łatwy sposób wprowadzać do systemu informacje o produktach spożywczych. Np. kupiłem mleko, skanuję kod, dodaję datę ważności i zdjęcie. Liczę też na pomysły od was bo wiem, że są rzeczy o których ja sam bym nawet nie pomyślał :)
  • Etap E: Rozbudowa strony Panelu Administracyjnego o pełną inwentaryzację lodówki, historię, moduły logiki biznesowej, jak np. przypominanie o zbliżającym się terminie ważności
  • Etap F: Kolejne pomysły które przyjdą do głowy

 

Zdefiniowałem też Minimal Viable Product czyli stan projektu, z którego będę zadowolony i będę gotowy nadać mu zaszczytną wersję 1.0. Po zakończeniu etapu C otworzę szampana i będziemy świętować :) Kolejne etapy jak najbardziej powstaną, ale będą rozwijane jako nowa funkcjonalność zwiększająca wartość rynkową projektu ;)

 

Post ten będę aktualizował i znajdą się tutaj wszystkie linki do postów, stron i githubów, które będą dotyczyły projektu “Smart Lodówka”.


Ważne linki:

Posty:

  1. Hello “Smart Lodówka” (ten post)
  2. Malinka, malinka, malinka moja
  3. Świeci się!
  4. Visual Studio + Python
  5. OWIN WebApi na hostingu Webio
  6. Simple.Data.SqlServer na hostingu Webio
  7. Aurelia, początki
  8. Frontendowe narzędzia
  9. Zapytania HTTP w Pythonie
  10. Debugowanie skryptu Pythona na Raspberry Pi
  11. Daj się poznać 2016 – podsumowanie

Dodam też, że przy tak dużej liczbie uczestników (przy okazji, gratulacje dla Maćka i całej społeczności) z łatwością znalazłem projekty, które będę z uwagą śledził i zapewne nawet z nich korzystał po ukończeniu. Trzymam kciuki za wszystkich.

C.

2 Comments

  1. Konrad Kokosa 2016-03-02 at 10:12 -  Reply

    Fajny pomysł, sam mam malinkę i chętnie będę śledził zmagania z nią:)

    • creyn 2016-03-02 at 20:57 -  Reply

      Dzięki. Z malinką jest tak, że pomysłów starczyłoby na kilka konkursów :)

Leave a Reply

DEV

Around Dev

My way of seeing

%d bloggers like this: