Http клиентский режим с Contiki?

Я хочу сделать вызов WebAPI с датчика, использующего http, возможно ли выполнять запросы http с помощью ОС Contiki?

Насколько я искал, я нашел только примеры клиентов coap.

2 ответа

Решение

Проверить examples/http-socket Например, он показывает, как использовать методы CRUD, такие как PUT, GET и т. д.

Вот ссылка на пример (работа с последним мастер-коммитом)

В этом примере используется IP64, но его можно изменить для работы с IPv6, в основном необходимо включить http-socket библиотека. Вот более важные части примера:

#include "contiki-net.h"
#include "http-socket.h"
#include "ip64-addr.h"
#include <stdio.h>

static struct http_socket s;
static int bytes_received = 0;

static void
callback(struct http_socket *s, void *ptr,
         http_socket_event_t e,
         const uint8_t *data, uint16_t datalen)
{
  if(e == HTTP_SOCKET_ERR) {
    printf("HTTP socket error\n");
  } else if(e == HTTP_SOCKET_DATA) {
    bytes_received += datalen;
    printf("HTTP socket received %d bytes of data\n", datalen);
  }
}

PROCESS_THREAD(http_example_process, ev, data)
{
  PROCESS_BEGIN();

  /* Initializes the socket */
  http_socket_init(&s);

  /* GET request */
  http_socket_get(&s, "http://www.contiki-os.org/", 0, 0,
                  callback, NULL);

  /* Waits forever for the HTTP callback */
  while(1) {
    PROCESS_WAIT_EVENT_UNTIL(0);
  }

  PROCESS_END();
}

Да, вы можете сделать это:

Я понимаю, что вы ищете Websense Example в Contiki OS.оно использует HTTP protocl.

A: так что найдите этот файл.

~/contiki/examples/zolertia/z1/ipv6/z1-websense/z1-websense.c
  1. Сожги это на Отправителя Моте.
  2. жечь border-router.c файл находится в /home/superuser/contiki/examples/ipv6/rpl-border-router/
  3. Подключите пограничный маршрутизатор с tunnelslip с командой make connect-router,
  4. использовать HTTPIPV6 URL показан tunnelslip на связи.
  5. Этот URL-адрес в браузере даст вам адрес подключенных к нему шуток.
  6. используйте этот адрес отправителя в веб-браузере и посмотрите вывод.

B: или из симулятора contiki/cooja:

запустите этот файл проекта. это рабочая демонстрация для вебсенса.

~contiki/examples/zolertia/z1/ipv6/z1-websense/example-z1-websense.csc

и повторите с шага 3.

для дальнейшего вы можете спросить меня.

Другие вопросы по тегам