W czym pisać aplikację (serwer HTTP + audio + GPIO na RPi)?

0

Zacząłem sobie w wolnym czasie realizować moje magnum opus, a mianowicie radio-zegarko-stację pogodową-i nie tylko i mam problem z doborem w czym napisać do tego soft. Wymagania są takie:

  • ma działać na RaspberryPi
  • aplikacja konsolowa
  • wbudowany serwer HTTP ma:
    • serwować statyczne pliki klienta webowego (napisanego w angularze)
    • reagować na polecenia w stylu RESTowego API (play, pause, stop, zmiana głośności, pobieranie informacji o utworze, etc)
    • umożliwiać połączenie poprzez websocket i wysyłanie spektrum audio
  • obsługa shoutcastów
  • analiza FFT odtwarzanego strumienia
  • pobieranie danych z neta w formacie JSON
  • ogarniać GPIO i obsługę LCDków na sterowniki HD44780

Prototyp machnąłem sobie w FPC/Lazarus, do obsługi audio wziąłem libkę BASS, do wyświetlacza swoją własną klasę, którą napisałem lata temu jeszcze w Delphi na LPT i po 20 minutach zmian działa na GPIO bez zastrzeżeń. I wszystko w sumie fajnie hula, nawet nie za bardzo obciąża skromny procesorek RPi, tylko trochę mnie irytuje/martwi to, że muszę praktycznie wszystko stawiać od zera i do tego na >5 letnich bibliotekach. Największy problem mam chyba z Synapse i socketami, bo tam ciągle coś się wali.

Kusi trochę taka swoboda jak we współczesnych rozwiązaniach, gdzie nie trzeba się martwić, że do kilku funkcji trzeba tydzień pisać serwer HTTP, parsowanie nagłówków, itp przyziemne rzeczy, tylko sobie rach ciach coś zmontować i tylko zająć się logiką. Może mi coś podpowiecie, bo nie wiem już za co się tu zabrać czy szukać innego rozwiązania czy zostać przy paszczaku (którego w sumie lubię, ale Lazarus jest mega toporny, a OmniPascal do Visual Studio Code działa tak sobie)?

0

Spróbuj Elixir + Nerves. A do rzeczy, do których będziesz potrzebował "zejść niżej" to zawsze możesz użyć Rusta + Rustler (bindingi dla Erlanga/Elixira).

Zaleta jest taka, że wszystkie procesy masz monitorowane w jednym miejscu i z zewnątrz musisz obserować tylko czy wstaje jedna aplikacja, a całą resztą zajmie się OTP.

1 użytkowników online, w tym zalogowanych: 0, gości: 1