To bardzo szerokie pytanie, ale postaram się udzielić kilku ogólnych wskazówek, które, mam nadzieję, przydadzą się innym, a także tobie (więc proszę o przeprosiny, jeśli opublikuję rzeczy, które już wiesz).
Jeśli pytasz o odczyt czujników, jest to telemetria i niekoniecznie Internet Rzeczy. Zakodowałem wiele projektów, w których samodzielny komputer odczytuje i wyświetla pomiary.
Jeśli chcesz również kontrolować podłączony sprzęt, jest to SCADA . Ponownie niekoniecznie musi być podłączony do Internetu.
Oto schemat SCADA, który ogólnie daje dobre wyczucie IoT. Należy zauważyć, że sterowniki PLC na schemacie to czujniki i elementy sterujące urządzeń obsługujących Internet Rzeczy.
Możesz poprosić o rekomendacje sprzętowe dla czujników i kontrolera w Zaleceniach sprzętowych .
A kiedy już będziesz mieć kod, możesz uzyskać porady dotyczące problemów w Stack Overflow .
Zasadniczo Internet Rzeczy dla przemysłu obejmuje model klient / serwer, w którym klient mierzy / kontroluje urządzenia sprzętowe i raportuje do / odbiera polecenia z serwera. Serwer ma również ogólnie bazę danych i pozwala generować raporty dotyczące zarządzania i alarmów (i może instruować zdalny sprzęt o ponownej konfiguracji / wyłączeniu na podstawie otrzymanych danych).
Uff! To intro na uboczu. Teraz ubrudzimy sobie ręce.
Jeśli chcesz zagłębić się w szczegóły kodowania, spójrz na gniazda i zrozum różnicę między TCP i UDP .
Na szczęście dekady zapełniły większość trudniejszych rzeczy w bibliotekach i prawdopodobnie najlepiej jest przeczytać o usługach RESTful. Istnieje wiele bezpłatnych samouczków online, kursów i filmów, w zależności od języka; C to tradycyjny język osadzony, niektóre używają C ++, ale oczywiście używaj tego, co znasz / czujesz się komfortowo. Python jest niezwykle popularny i łatwy do nauczenia, a także jest zalecanym językiem dla Raspberry Pi.
Osobiście wolę języki skompilowane niż interpretowane, ponieważ łatwiej jest usunąć błędy, ale wybór należy do ciebie. Upewnij się tylko, że ma on dobrą obsługę dostępu do urządzeń peryferyjnych przez USB, Ethernet i - nadal niezwykle powszechny w branży - port szeregowy.
Po stronie serwera ponad 90% światowego serwera nadal działa w PHP. Pojawia się jednak zainteresowanie używaniem NodeJS, głównie przez ludzi, którzy kodują aplikacje przeglądarki, co obecnie można zrobić tylko w JavaScript i nie chcą uczyć się dwóch języków. Nie polecam tworzenia aplikacji IoT opartych na przeglądarce, ze względu na ograniczenia dostępu przeglądarki do systemu plików i urządzeń peryferyjnych (chociaż wspomniałbym o takich jak Cordova , jeśli chcesz tworzyć na smartfony).
Na początek polecam Raspberry Pi (kodowanie w Pythonie lub C).
I * bardzo * polecam czapkę z czujnikiem. Ten jest tylko przykładem, ale nie jest drogi i zawiera
- Żyroskop - czujnik prędkości kątowej: Akcelerometr +/- 245/500 / 2000dps
- Liniowy czujnik przyspieszenia: +/- 2/4/8/16 g
- Magnetometr - czujnik magnetyczny: +/- 4/8/12/16
- Barometr Gaussa: zakres bezwzględny 260–1260 hPa (dokładność zależy od temperatury i ciśnienia, +/- 0,1 hPa w normalnych warunkach)
- Czujnik temperatury (temperatura dokładna do +/- 2 ° C w zakresie 0-65 ° C)
- Czujnik wilgotności względnej (dokładny do +/- 4,5% w zakresie 20-80% rH, dokładny do +/- 0,5 st. C w zakresie 15-40 st.)
- Matrycowy wyświetlacz LED 8x8 RGB
- Mały joystick z 5 przyciskami
Umożliwi to zebranie niektórych danych i zgłoszenie ich na serwer. Być może będziesz w stanie znaleźć bezpłatną usługę online do odbierania i wyświetlania danych. Widziałem kilka na innej stronie SO, ale zapomnij gdzie.
Ale prawdopodobnie chcesz zakodować własny serwer. Poleciłbym PHP jako język programowania. W przypadku Linuksa dobrze znasz LAMP (Linux, Apache, Mysql i PHP). W systemie Windows musisz zainstalować WAMP (Windows… itp.).
Możesz wybrać. Używam XAMPP w aplikacjach przemysłowych od ponad dekady. Nie musisz używać MySQL, Sqlite może równie dobrze służyć (wtyczka bez shali do mojego własnego pytania SO 6 lat temu: „ Sqlite lub MySql? Jak zdecydować? ”). Będziesz także musiał dowiedzieć się o CRUD .
Na podstawie danych otrzymanych od klienta / czujnika możesz chcieć odesłać polecenie, nawet po prostu (wyświetlenie: „temperatura za wysoka”, co może przełożyć się na zamknięcie zaworu w systemie przemysłowym).
Możesz chcieć wywoływać alarmy w czasie rzeczywistym (wyślij e-mail z informacją, że temperatura jest zbyt wysoka).
Możesz też pomyśleć o generowaniu raportów. Zacznij od tabeli przedstawiającej otrzymane dane. Rozważ mapę lub coś bardziej wyszukanego. Dodaj opcję eksportu do wartości rozdzielanych przecinkami (CSV), która pozwala użytkownikowi końcowemu na import danych do arkusza kalkulacyjnego w celu dalszej analizy i manipulacji.
Jeśli nie zdecydujesz, że chcesz raportowanie ochotę, to może to zrobić w PHP, ale po kilku dekadach, że mam teraz przeniósł się robi dużo po stronie klienta raport stuff w przeglądarce.
Aby uzyskać ogólne zasady, zapoznaj się z aplikacjami do obsługi pojedynczych stron i AJAX . Ja osobiście przeprowadziłem wiele badań i wybrałem Google AngularJS jako mój język programowania (istnieje wiele samouczków i świetne wsparcie), ale możesz swobodnie korzystać ze zwykłego JS, Jquery itp., Jak chcesz.
Jeśli zdecydujesz się również na kodowanie rzeczy w przeglądarce, możesz równie dobrze używać NodeJ po stronie serwera, abyś mógł nauczyć się tylko jednego nowego języka programowania.
Za dużo wyborów? Przepraszam :-(
Mam nadzieję, że to dało ci jakąś radę, ale zadawaj pytania i daj mi znać, jeśli brakuje tu jakiejkolwiek ogólnej porady.