esp_err_t esp_event_loop_init(system_event_cb_t cb, void *ctx){ if (s_event_init_flag) { return ESP_FAIL; } s_event_handler_cb = cb; s_event_ctx = ctx; s_event_queue = xQueueCreate(CONFIG_SYSTEM_EVENT_QUEUE_SIZE, sizeof(system_event_t)); xTaskCreateP…
在ESP32的设计开发中,我们必然会需要使用到wifi或ble功能,今天就讲解下如何将WIFI功能纳入到ESP32中来. 初始化WiFi环境 首先,WiFi子系统的初始化需要由我们自己来自行,当我们写自己的程序时,需要通过调用 esp_wifi_init() 方法 来完成 . 推荐的方式如下: wifi_init_config_t config = WIFI_INIT_CONFIG_DEFAULT(); esp_wifi_init(&config); 设置操作模式 ESP32可以是网络中的一个站…
对于ESP32,其作为一款集成了2.4GHz WiFi和蓝牙双模块的单芯片,所有基于wifi和蓝牙开发是学习esp32的重要一环,今天WiFi原理和网络结构 可以点击链接进行详细的了解,这里就不做详细的叙述了,本文重点讲解省电模式下的WiFi是如何连接上路由器的,重点是相关API接口和编程方法的介绍.本文源码地址在:esp-idf/examples/wifi/power_save里.源码完成了对ESP32的低功耗模式的设置,并通过menuconfig将接入点AP的名称和密码赋值给ESP32,使E…
作为接入点的第一个任务是使用esp_wifi_set_mode()函数设置ESP32 函数并传递请求,作为接入点,可以把ESP32设置为AP或者APSTA,即 esp_wifi_set_mode(WIFI_MODE_STA) 或者 esp_wifi_set_mode(WIFI_MODE_APSTA) 接下来我们需要提供配置信息. 我们通过填充wifi_ap_config_t 来做到这一点. 该 wifi_ap_config_t 包含: •               SSID - WiFi的SS…
通过之前http://www.cnblogs.com/noticeable/p/7636582.html中对socket的编程,已经可以知道如何通过socket编程搭建服务器和客户端了,现在,就在ESP32上搭建一个TCP Client进行实际验证. 代码编辑如下: l#include "freertos/FreeRTOS.h" #include "esp_wifi.h" #include "esp_system.h" #include &quo…
znode 可以被监控,包括这个目录节点中存储的数据的修改,子节点目录的变化等,一旦变化可以通知设置监控的客户端,这个功能是zookeeper对于应用最重要的特性,通过这个特性可以实现的功能包括配置的集中管理,集群管理,分布式锁等等. 知识准备: zookeeper定义的状态有: Unknown (-1),Disconnected (0),NoSyncConnected (1),SyncConnected (3),AuthFailed (4),ConnectedReadOnly (5),Sasl…
ZooKeeper Client Library提供了丰富直观的API供用户程序使用,下面是一些常用的API: create(path, data, flags): 创建一个ZNode, path是其路径,data是要存储在该ZNode上的数据,flags常用的有: PERSISTEN, PERSISTENT_SEQUENTAIL, EPHEMERAL, EPHEMERAL_SEQUENTAIL delete(path, version): 删除一个ZNode,可以通过version删除指定的版…
ZooKeeper为我们提供了用于监视结点变化的Watcher机方法制: 1.可以注册Watcher的方法:getData().exists().getChildren().我们可以通过查看ZooKeeper API看到 getData方法: void getData(String path, boolean watch, AsyncCallback.DataCallback cb, Object ctx)  byte[] getData(String path, boolean watch,…
每一个Watcher具有如下属性: 1.KeeperState 2.EventType 3.path 4.process(WatchedEvent evnet)回掉方法 Watcher干嘛的?用户监听session的状态,数据节点的状态等. watcher种类:defaultWatcher,非defaultWatcher dafaultWatcher是在创建ZooKeeper对象时传递的watcher参数.非defaultWatcher只得是,在调用getData,getChildren,exi…
首先从Zookeeper入手,Zookeeper-->ClientCnxn-->sendThread/eventThread public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher, boolean canBeReadOnly) throws IOException { LOG.info("Initiating client connection, connectString="…