Я делал вот эту публикацию, с обещанием выложить библиотеки, пригодных для использования радиоинженерами, не являющимися гуру в программировании.
По многим причинам пришлось отложить тот проект. В прошлом году я к нему вернулся.
При этом были использованы дополнительные решения, которые также могут быть интересными.
Но! За это время появились новые чипы, новые решения и т.п.
Актуален ли чип CC1101 сейчас? Актуальна ли тема простых одноранговых сетей без выкрутасов?
Если это актуально, то я разовью тему.
Комментарии (13)
robux
30.01.2018 05:21Для меня, как разработчика p2p-информационной системы, нужна простая железка, поднимающая mesh-сеть.
Технические требования к железке. Обязательные:
1) простота подключения — желательно USB
2) чтение с железки и отправка в неё порций данных, лучше через имеющееся системное API, например эмуляции COM-порта
3) доступность, дешевизна и простота элементной базы
4) железка должна работать в городских кварталах, в деревнях и на пересеченной местности
Желательные:
5) железка работает как ретранслятор "из коробки", в том числе без подключения к компьютеру
6) смена частоты джамперами на железке, а не только через API
7) подключение внешней антенны
В первой части вы описывали проблемы, как TexasInstruments сбрасывает параметры, это скорей всего умышленно, наверняка зонд внутри. Поэтому желательно бы использовать какую-нибудь примитивную китайщину, в которую зонд не впихнешь.
Полноценный TCP/IP не нужен — простого API для приёма и рассылки широковещалки достаточно, но только без мастера (т.е. SPI, описанный в первой части, похоже не подходит), как это можно замутить с точки зрения радиотехники — я не знаю. Жёсткий риалтайм не нужен, поэтому вместо дуплекса сгодится какой-нибудь помехоустойчивый полу дуплекс.
Мне, как прикладному программисту, нужно иметь возможность:
= читать все широковещательные сообщения (ID точки может выступать случайное число типа MD5-число, генерируемое в железке, или фиксированный MAC-адрес железки)
= отправлять широковещательные сообщения с возможностью указания ID получателя, чтобы в будущем можно было запилить примитивную маршрутизацию при прохождении нескольких ретрансляторов. Но для начала можно над маршрутизацией не париться — рассылать всем, как делали это первые хабы.
YBosco Автор
30.01.2018 08:01Не понял. Выглядит, как заявка на разработку. Для таких целей есть личная переписка.
Написал в личку.
YBosco Автор
30.01.2018 08:03Уважаемые!
Вижу, что проголосовало какое-то кол-во человек, но посмотреть результат почему-то не могу. Подскажите, как это сделать.
Dima_Sharihin
CC1101 может быть интересен с экономической точки зрения. Потому что чисто функционально интереснее смотрится CC1310: ARM Cortex M3, отдельный M0 для радиотракта, независимое ядро для опроса датчиков без пробуждения основного. Ну и как плюшка, на CC1310 есть реализация 6lowpan, что (при наличии border router'a) позволяет работать с железками по обычным TCP/UDP
YBosco Автор
Это бесспорно интересно. Но если за дело берётся просто радиоинженер, как это было когда-то со мной, то он знает о TCP/IP только то, что указано в сетевых параметров любого компьютера. А ведь всё это ещё нужно загрузить на борт, причём так, чтобы работало без сбоев.
Собственно, тема отсюда выехала.
Если посмотрите, то те фрагменты исходников, что приведены, написаны на PicBasic.
Dima_Sharihin
Ну, технически то, что должен знать радиоинженер может заканчиваться на IEEE 802.15.4, остальное забота программиста.
Для всего остального есть готовый програмный стек (не без глюков, естественно), а отсутствие велосипедов/проприетарных протоколов — это огромный плюс.
Единственный недостаток 6lowpan — он, емнип, не работает без граничного роутера.
YBosco Автор
«что должен знать радиоинженер может заканчиваться на IEEE 802.15.4, остальное забота программиста».
Вот именно, что нужен программист.
Dima_Sharihin
В заголовке фигурирует "под управлением PIC-контроллера", что уже говорит о том, что программист нужен. Не обязательно высококвалифицированный, но нужен.
Если задача уровня "считать показания с датчиков", то для новых контроллеров есть готовые "изкоробочные" примеры, в которых достаточно подменить код считывания.
YBosco Автор
В общем, это всё тонкости лингвистики. :-)
Я имею ввиду, что тот, кто разбирается в тонкостях радиотракта, может не уметь программировать на C. BASIC, по идее, изучается и на радиофакультетах.