技术原理

[IoT自製小玩具][Ameba Z2][Note 4] 手机控制LED(2)- httpd & 操纵LED

要到IP以后,就可以用手机通过网络操纵Amebaz2。先加最罗定的http就行...

1. Enable httpd

httpd範例SDK早已写好啦,开启电源开关就可以。

档案资料: project/realtek_amebaz2_v0_example/inc/platform_opts.h

#define CONFIG_EXAMPLE_HTTPD                   1 // 0改为1

烧完firmware重启动,手机上就可以连到木板的罗定网页页面(没有错,连网页页面都写好啦)。
https://ithelp.ithome.com.tw/upload/images/20200523/20112439zjtPSCBz9H.png

2. 操纵LED

由于我想通过http POST来操纵LED,因此先把GPIO的code写在这个档案资料 component/common/example/httpd/example_httpd.c

// 在global地区再加下列几行
#include "gpio_api.h"

// Ref. ambz2_sdk/project/realtek_amebaz2_v0_example/example_sources/gpio_light_weight/scr/main.c
#define GPIO_LED_PIN    PA_23  // LED 一脚插A23,一脚插GND

extern void gpio_direct_write(gpio_t *obj, BOOL value);
gpio_t gpio_led;

// http POST以后实行的function
void homepage_cb(struct httpd_conn *conn)
{
// 正中间略

	if(body) {
        // read HTTP body
        memset(body, 0, content_len   1);
        read_size = httpd_request_read_data(conn, body, content_len);
        // 正中间略

        // LED
        // 依据罗定SDK网页页面,body便是POST收下来的材料,內容会是text1=XXX&text2=XXX,由于我不想做字串激光切割(以后再做),就先抓最后一个char就行
        if (body[strlen((char const*)body)-1] == '1') {
            gpio_direct_write(&gpio_led, 1);
            printf("[HANA] LED on\n");
        }
        else if (body[strlen((char const*)body)-1] == '0') {
            gpio_direct_write(&gpio_led, 0);
            printf("[HANA] LED off\n");

// 通道点
static void example_httpd_thread(void *param)
{
// 正中间略

    // 原始 LED control pin
    gpio_init(&gpio_led, GPIO_LED_PIN);
    gpio_dir(&gpio_led, PIN_OUTPUT); // direction
    gpio_mode(&gpio_led, PullNone);  // No pull

举起手机上,打开网站,Text1随意键入,要是保证Text2的最后一char是1就行
https://ithelp.ithome.com.tw/upload/images/20200523/20112439lr9d9A0Qe6.png

以后手机上回到POST信息,木板上LED灯也会亮!
https://ithelp.ithome.com.tw/upload/images/20200523/20112439Jiy70P7iIp.png

熄灯要是把Text2的最后一char改0就好了,很快速喔。
https://ithelp.ithome.com.tw/images/emoticon/emoticon34.gif

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
手机人工智能是什么意思 投稿者
我还没有学会写个人说明!
最近文章
  • * 没有更多文章了
  • 热门搜索

    分类目录