У меня проблема в contiki2.7 (я использую InstantContiki) с использованием движений Z1 и ZIGLET Z001 (температура & влажность). я попробовал код «тест-sht11.c» в примерах каталога/z1, чтобы получить температуру и влажность, но у меня есть неправильные результаты:Результаты неправильной температуры/влажности с использованием SHT11 ZIG001
Rime started with address 227.15
MAC e3:0f:00:00:00:00:00:00 Contiki 2.7 started. Node id is set to 4067.
CSMA ContikiMAC, channel check rate 8 Hz, radio channel 26
Starting 'SHT11 test'
Temperature: 615 degrees Celsius
Rel. humidity: 2650%
Temperature: 615 degrees Celsius
Rel. humidity: 2650%
Я видел, что драйверы I2C должны были быть отключены (http://sourceforge.net/p/contiki/mailman/message/29682840/), но он все еще не работает, у меня такие же результаты.
Код:
#include "contiki.h"
#include "dev/sht11.h"
#include <stdio.h>
PROCESS(test_sht11_process, "SHT11 test");
AUTOSTART_PROCESSES(&test_sht11_process);
PROCESS_THREAD(test_sht11_process, ev, data)
{
static struct etimer et;
static unsigned rh;
PROCESS_BEGIN();
i2c_disable();
sht11_init();
for (etimer_set(&et, CLOCK_SECOND);; etimer_reset(&et)) {
PROCESS_YIELD();
printf("Temperature: %u degrees Celsius\n",
(unsigned) (-39.60 + 0.01 * sht11_temp()));
rh = sht11_humidity();
printf("Rel. humidity: %u%%\n",
(unsigned) (-4 + 0.0405*rh - 2.8e-6*(rh*rh)));
}
PROCESS_END();
}
Я совершенно уверен, что это не аппаратная проблема (я пробовал с разными ZIG001 и различными Z1 пылинок). Спасибо за помощь, я в отчаянии ... Jibus.