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
- Сожги это на Отправителя Моте.
- жечь
border-router.c
файл находится в/home/superuser/contiki/examples/ipv6/rpl-border-router/
- Подключите пограничный маршрутизатор с
tunnelslip
с командойmake connect-router
, - использовать
HTTP
IPV6
URL показанtunnelslip
на связи. - Этот URL-адрес в браузере даст вам адрес подключенных к нему шуток.
- используйте этот адрес отправителя в веб-браузере и посмотрите вывод.
B: или из симулятора contiki/cooja:
запустите этот файл проекта. это рабочая демонстрация для вебсенса.
~contiki/examples/zolertia/z1/ipv6/z1-websense/example-z1-websense.csc
и повторите с шага 3.
для дальнейшего вы можете спросить меня.