В контексте IoT имеет смысл выучить ASM, C, RTOS.
А ваш вопрос, в контексте IoT, конечно... Купите себе плейстейшн и рубитесь в майнкрафт.
IoT - маркетинговая хрень.
Есть embeded, который сливает данные. Куда и как - пофигу. Если ему вообще надо сливать.
Есть бэкенд, который с этими данными работет.
Есть фронтенд, который создает UI.
Ну и чтобы не быть голословным:
Часть на AVR, часть на ARM. Сервер на питоне, фронтенд - ангуляр. Стройка еще идет и часть модулей подключается-отключается в процессе. Объект - два строения. Основной канал - RS485. Часть по радиоканалу, часть по вайфаю, часть по ethernet