Email or username:

Password:

Forgot your password?
Andrey / Baka Neko 🐾

А посоветуйте ЯЗЫК ПРОГРАММИРОВАНИЯ

Требования:
- Не пытается съесть всю доступную оперативную память, так как приложение будет крутиться на достаточно ограниченных ресурсах
- Имеет адекватные биндинги к bluez
- Имеет mqtt-клиент
- Нормальная работа с concurrency
- Не такой сложный как Rust
- Не содержит в названии букв "P", "y", "t", "h", "o", "n" в указанном в последовательности порядке

17 comments
Aleksei � Matiushkin

@baka с каких пор раст умеет работать с concurrency?

Вариантов вообще-то два: go и elixir. Про биндинги не знаю, но уверен, что это не самая сложная часть ни для го, ни для эликсира.

Andrey / Baka Neko 🐾

@mudasobwa эликсир был моим самым первым вариантом, там очень глухо. Биндинги там нужны не совсем биндинги, там dbus. Го мой самый крайний вариант, но де-юре удовлетворяет всем требованиям

Aleksei � Matiushkin

@baka чего надо-то, если чуть подетальнее? Я про эликсир кое-что знаю, могу как-то помочь, наверное. Просто чтобы не обрекать никого на го :))

Andrey / Baka Neko 🐾

@mudasobwa через bluez (увы строго через bluez) общаться с BLE-устройством и отправлять по MQTT данные в хоумассистант, в рамках вот этого:

lynx.pink/posts/declouding-blu

Andrey / Baka Neko 🐾

@mudasobwa аддоны в hass это докер-контейнеры, в которые можно прокинуть системный dbus, и через который уже можно достучаться до системного bluez-стека

Aleksei � Matiushkin

@baka пока вот быстрый поиск чего дает: elixirforum.com/t/getting-blue

Завтра утром посмотрю подробнее.

Andrey / Baka Neko 🐾

@mudasobwa я тут тоже уже оказывался, последний коммит 8 лет назад, из hex выпилено :\

Aleksei � Matiushkin

@baka я заглянул в код, это wrapper поверх эрланговских утилит github.com/highmobility/bluex/ — не вижу никаких причин для него обновляться каждые три дня, тут же не нодажэес, никто новых версий ради новых версий не выпускает.

В хексе его никогда не было, а не выпилено. Там вообще три файла, копипаста должна отлично сделать свое дело. Не вижу проблем вообще.

Aleksei � Matiushkin

@baka а можно просто эрланговские модули взять, кстати, а эликсирный код использовать как документацию «как его готовить».

Александр :straightally:

@baka JavaScript über alles

NodeJS имеет биндинги, библиотеки и фреймворки под что угодно, асинхронный в однопотоке, и главное - достаточно быстрый. На самой дешёвой виртуалке с 512МБ памятью можно запихнуть несколько серверов

Andrey / Baka Neko 🐾

@saiv46 я писал на node за деньги пару лет, за бесплатно я таким точно заниматься не буду :blobcatcoffee:

Александр :straightally:

@baka Ну и сиди на питоне дальше 😜

Я бы за деньги писал на node, но пока довольствуюсь пет-проектами

А вообще ты можешь реализовать то же самое на C++ и Zig

Andrey / Baka Neko 🐾

@saiv46 я не пишу на питоне, не хочу писать на питоне, и не планирую писать на питоне.

Затем то же самое предложение, но s/питон/node/g :blobcatcoffee:

C++ нет спасибо не надо, Zig погляжу

Александр :straightally:

@baka Можешь посмотреть в сторону Go, но не знаю что там с биндингами

Go Up