У меня есть два вопроса:
- Мы хотим учитывать очень низкий рабочий цикл передачи в нашей сети подводных датчиков, поскольку на практике именно энергопотребление в режиме прослушивания и в спящем режиме будет доминировать в продолжительности жизни нашей сети. Я заметил команды планировщика в новой версии UnetStack Simulator версии 3.2.0, addsleep , showsleep и т. д. Я скачал последнюю версию симулятора, попытался использовать эти команды, но это не сработало, я попробовал работать как в оболочке, так и внутри groovy-скриптов, и пытался импортировать org.arl.unet.scheduler, но ни одна из команд планировщика не работала и продолжала получать ошибки. Например, я пытался использовать это: addsleep 20.s.later, но симулятор позже не распознает, также получил ошибки для использования import org.arl.unet.scheduler.
Интересно, может ли кто-нибудь помочь мне в этом, например, как использовать команду addsleep.
Другой вопрос: помимо потребления энергии при передаче и приеме, наш модем потребляет 2,5 мА от источника питания 5 В при прослушивании начала пакета и может переходить в спящий режим и потреблять около 0,24 мА от источника питания 5 В с возможностью пробуждения. и вернуться в режим прослушивания через запрограммированный период времени. Итак, мой вопрос: есть ли способ учесть энергию, потребляемую при праздном прослушивании и сне, в простой энергетической модели? Мы реализовали очень простую модель энергопотребления, что-то вроде следующего (нашел этот пример в stackoverflow):
класс MyHalfDuplexModem расширяет HalfDuplexModem {
энергия поплавка = 1000
@Override boolean send(Message m) { if (m instanceof TxFrameNtf) energy -= 10
if (m instanceof RxFrameNtf) energy -= 1
return super.send(m) }}
Как добавить к приведенному выше коду энергию, затрачиваемую на прослушивание в режиме ожидания и сон? нам нужно использовать что-то вроде WakeFromSleepNtf()
Спасибо и любая помощь очень ценится. Марва