如何解决使用 W5500 在 STM32F303RC 中通过 HTTP 实现 TLS
我正在尝试在我的 STM32F303RC MCU 中实现 HTTPS,我使用了 IoLibrary 提供的 HTTP CLIENT 示例,并按照 M. Bangbh 的提示 https://forum.wiznet.io/t/topic/7721 实现了 TLS。在与多个错误作斗争之后,我成功地将 GET 请求发送到服务器,调试时我可以清楚地看到从 MCU (192.168.137.2) 发送到服务器 (45.84.204.10) 的协议为 TLSv1.2 的请求。在服务器端,我有一个 php 页面,每当收到新请求时,它都会向 mysql 数据库添加一个字符串“hello”。 虽然我可以在 WireShark 中看到请求,但我看不到任何添加到 mysql 数据库中的数据,我只想知道我的 HTTPS 实现是否正确,或者我是否需要更改某些内容?如果实现正确,为什么我看不到从 php 页面保存到 mysql 数据库的任何数据?
index.php
mysql::query("insert into `tls` (`q`) values (?)",array("hello")); # the simplest php page ever
main.c
wiz_NetInfo defaultNetInfo = {
.mac = {
0x00,0x08,0xDC,0xFF,0xEE,0xDD
},.ip = { 192,168,137,2 },.sn = { 255,255,0 },.gw = { 192,1 },.dns = {
8,8,8
},.dhcp = NETINFO_STATIC
};
uint8_t Domain_name[] = "www.onyxenia.com";
uint8_t URI[] = "/trunity?q=hello";
/**/
int main(void){
/**/
HAL_Init();
/**/
SystemClock_Config();
/**/
MX_GPIO_Init();
MX_SPI1_Init();
/**/
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET); HAL_Delay(250);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_SET ); HAL_Delay(250);
/**/
initialize();
/**/
HAL_Delay(5000);
/**/
wizchip_setnetinfo(&defaultNetInfo);
/**/
ctlnetwork(CN_SET_NETINFO,&defaultNetInfo);
/**/
if (process_dns()){
/**/
flag_process_dns_success = ON;
/**/
}
/**/
while(1){
/**/
httpc_init(SOCK_HTTPC,Domain_IP,443,g_send_buf,g_recv_buf);
/**/
while(1){
/**/
httpc_connection_handler();
/**/
if (httpc_isSockOpen){
/**/
httpc_connect();
/**/
}
/**/
if(httpc_isConnected){
/**/
if(!flag_sent_http_request){
/**/
request.method = (uint8_t*)HTTP_GET;
request.uri = (uint8_t*)URI;
request.host = (uint8_t*)Domain_name;
/**/
httpc_send(&request,g_recv_buf,0);
/**/
flag_sent_http_request = ENABLE;
/**/
}
/**/
if (httpc_isReceived > 0){
}
}
}
}
}
以太网配置:
IP Address: 192.168.173.1 Preferred DNS server: 8.8.8.8
Subnet Mask: 255.255.255.0 Alternate DNS server: 8.8.4.4
*默认网关:空
互联网配置:
IP Address: 192.168.1.4 Preferred DNS server: 8.8.8.8
Default Gateway: 192.168.1.1 Alternate DNS server: 8.8.4.4
*子网掩码:255.255.255.0
硬件:
- STM32F303RC
- W5500
软件:
- CubeIDE
- WareShark
图书馆:
附件:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。