luat_wlan.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #include "luat_base.h"
  2. #include "luat_msgbus.h"
  3. #include "luat_malloc.h"
  4. typedef struct luat_wlan_config
  5. {
  6. uint32_t mode;
  7. }luat_wlan_config_t;
  8. typedef struct luat_wlan_conninfo
  9. {
  10. char ssid[36];
  11. char password[64];
  12. char bssid[8];
  13. uint32_t authmode;
  14. uint32_t auto_reconnection;
  15. uint32_t auto_reconnection_delay_sec;
  16. }luat_wlan_conninfo_t;
  17. typedef struct luat_wlan_apinfo
  18. {
  19. char ssid[36];
  20. char password[64];
  21. uint8_t gateway[4];
  22. uint8_t netmask[4];
  23. uint8_t channel;
  24. uint8_t encrypt;
  25. }luat_wlan_apinfo_t;
  26. enum LUAT_WLAN_MODE {
  27. LUAT_WLAN_MODE_NULL,
  28. LUAT_WLAN_MODE_STA,
  29. LUAT_WLAN_MODE_AP,
  30. LUAT_WLAN_MODE_APSTA,
  31. LUAT_WLAN_MODE_MAX
  32. };
  33. enum LUAT_WLAN_ENCRYPT_MODE {
  34. LUAT_WLAN_ENCRYPT_AUTO,
  35. LUAT_WLAN_ENCRYPT_NONE,
  36. LUAT_WLAN_ENCRYPT_WPA,
  37. LUAT_WLAN_ENCRYPT_WPA2
  38. };
  39. typedef struct luat_wlan_scan_result
  40. {
  41. char ssid[33];
  42. char bssid[6];
  43. int16_t rssi;
  44. int8_t ch;
  45. }luat_wlan_scan_result_t;
  46. int luat_wlan_init(luat_wlan_config_t *conf);
  47. int luat_wlan_mode(luat_wlan_config_t *conf);
  48. int luat_wlan_ready(void);
  49. int luat_wlan_connect(luat_wlan_conninfo_t* info);
  50. int luat_wlan_disconnect(void);
  51. int luat_wlan_scan(void);
  52. int luat_wlan_scan_get_result(luat_wlan_scan_result_t *results, int ap_limit);
  53. // 配网相关
  54. // --- smartconfig 配网
  55. enum LUAT_WLAN_SC_TYPE {
  56. LUAT_SC_TYPE_STOP = 0,
  57. LUAT_SC_TYPE_ESPTOUCH,
  58. LUAT_SC_TYPE_AIRKISS,
  59. LUAT_SC_TYPE_ESPTOUCH_AIRKISS,
  60. LUAT_SC_TYPE_ESPTOUCH_V2
  61. };
  62. int luat_wlan_smartconfig_start(int tp);
  63. int luat_wlan_smartconfig_stop(void);
  64. // 数据类
  65. int luat_wlan_get_mac(int id, char* mac);
  66. int luat_wlan_set_mac(int id, char* mac);
  67. int luat_wlan_get_ip(int type, char* data);
  68. const char* luat_wlan_get_hostname(int id);
  69. int luat_wlan_set_hostname(int id, char* hostname);
  70. // 设置和获取省电模式
  71. int luat_wlan_set_ps(int mode);
  72. int luat_wlan_get_ps(void);
  73. int luat_wlan_get_ap_bssid(char* buff);
  74. int luat_wlan_get_ap_rssi(void);
  75. int luat_wlan_get_ap_gateway(char* buff);
  76. // AP类
  77. int luat_wlan_ap_start(luat_wlan_apinfo_t *apinfo);