/***************** 嵌入式代码开�?************/
/* 更多例程:https://iot666.blog.csdn.net/ */
/* 技术咨询:https://yotill.taobao.com/ */
/* 网盘下载:http://doc.yotill.com/ */
/****** Powered by YOTILL,IOT Solution *******/
////////////////////////////////////////////////////////
#include "widget.h"
#include "ui_widget.h"
#include <QNetworkInterface>
#include <QHostAddress>
#include <QTcpSocket>
#include "tcpclient.h"
#include <QTextEdit>
#include <QKeyEvent>
#define KEY3 16777330
Widget* myW=NULL;
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
setWindowFlags(Qt::FramelessWindowHint);
setWindowOpacity(0.7);
myW=this;
m_strLanip="";
system("udhcpc -i eth0 &");
m_pinittimer=new QTimer;
connect(m_pinittimer,SIGNAL(timeout()),this,SLOT(on_inittimeout()));
m_pinittimer->start(1000);
ui->textEdit_hex->setReadOnly(true);
ui->textEdit_ascii->setReadOnly(true);
}
Widget::~Widget()
{
delete ui;
}
void Widget::initserver()
{
m_ptcpserver=new QTcpServer;
m_ptcpserver->listen(QHostAddress::Any,local_port);
ui->label->setText("server : "+m_strLanip+" "+QString::number(local_port));
connect(m_ptcpserver,SIGNAL(newConnection()),this,SLOT(newconnect()));
}
void Widget::wirtetext(QByteArray ba)
{
ui->textEdit_hex->append(ba.toHex());
ui->textEdit_ascii->append(QString(ba).toLocal8Bit());
}
void Widget::on_inittimeout()
{
QList<QNetworkInterface> list=QNetworkInterface::allInterfaces();
foreach(QNetworkInterface interface,list)
{
qDebug()<<"Device:"<<interface.name();
qDebug()<<"HardwareAddress:"<<interface.hardwareAddress();
QList<QNetworkAddressEntry> entryList=interface.addressEntries();
foreach(QNetworkAddressEntry entry,entryList)
{//便利ip条目列表
qDebug()<<"IP address:"<<entry.ip().toString();
qDebug()<<"Netmask:"<<entry.netmask().toString();//获取子网掩码
qDebug()<<"Broadcast:"<<entry.broadcast().toString();//获取广播地址
if(interface.name()=="eth0")
{
if(entry.ip().protocol()==QAbstractSocket::IPv4Protocol)
m_strLanip=entry.ip().toString();
}
/*
else if(interface.name()=="eth0")
{
if(entry.ip().protocol()==QAbstractSocket::IPv4Protocol)
m_lanip=entry.ip().toString();
}
*/
}
}
if(m_strLanip=="")
{
ui->label->setText("get lan ip failed!");
}
else
{
ui->label->setText("get lan ip successed!");
m_pinittimer->stop();
initserver();
}
}
void Widget::newconnect()
{
printf("new connection!");
QTcpSocket* skt=m_ptcpserver->nextPendingConnection();
tcpclient* newclt=new tcpclient;
newclt->setclient(skt);
connect(newclt->m_pClient,SIGNAL(readyRead()),newclt,SLOT(readmsg()));
connect(newclt->m_pClient,SIGNAL(disconnected()),newclt,SLOT(ondisconnected()));
}
void Widget::keyPressEvent(QKeyEvent *event)
{
if(event->key()==KEY3)
{
exit(0);
}
}
边缘计算网关定制开发
- 粉丝: 3315
- 资源: 1244
最新资源
- 基于Matlab实现畸变仿真(源码 ).rar
- 四轴桥板-卧加-AB轴坐标转宏程序送VT 四轴桥板卧加编程带刀尖跟随G65p9012 配套UG-MC后处理,适用于四轴不带rtcp功能的机床 工件任意摆放,一次装夹,任意点位建
- 吸波材料计算 吸波参数计算 由于科研所需,自编写Excel快速计算反射损耗,涡流效应,阻抗匹配,四分之一,衰减常数,电磁损耗角,德塔函数,阻抗匹配系数Mz, 只需要导入电磁参数,厚度随意调整 后续
- 纯电动汽车各零部件建模机理及BMS、再生制动和电机驱动扭矩策略,逻辑清晰公式明晰 主要从前向和后向仿真两大类分别阐述建模机理和控制策略 前向模型主要参考Cruise建模及相关文献,后向模型主要参考
- YOLO密集人群人脸目标检测数据集1类别(2000图片)+yolo、voc、coco三种标签+环境搭建+参考教程+划分脚本.rar
- 纯电动汽车动力经济性仿真,Cruise和Simulink联合仿真,提供Cruise整车模型和simuink策略模型,策略主要为BMS、再生制动和电机驱动策略,内含注释模型和详细解析文档,可运行
- TECO US 冷水机产品手册.zip
- 8通道采集板 板卡规格 电源:5V输入(最大稳态电流大约0.8A) AD通道数:4通道或8通道 AD采样率:80M或125M, 输入:2V p-p输入范围,AC耦合,100Khz~650Mhz 千兆网
- 同步机并网控制simulnk仿真模型,2018b版本,实现指令功率跟踪和调频效果
- 同步磁阻电机SynRM反电势法无感 FOC 1采用反电势法实现SynRM中高速下无位置传感器控制; 2.提供算法对应的参考文献和说明文档 仿真模型纯手工搭建,不是从网络上复制得到 仿真模型仅供学习参
- LSTM长短期记忆神经网络多变量回归预测(Matlab) 1.mata为数据集,12个输入特征,1个输出特征 2.LSTMNN.m为程序文件. 3.命令窗口输出MAPE和RMSE 5.所有程序都经
- ABAQUS三维隧道开挖,abaqus盾构隧道开挖,CD法,CRD法,台阶法,环形开挖讲 解(任意选一种),step by step,包含数值模型cae,inp文件,计算结果odb文件,以及参数Wor
- 深度学习时间序列回归预测,基于MATLAB RNNs模型,包括长短期记忆(LSTM),门限循环单元(GRU)和双向长短期记忆(biLSTM) 有实例,替数据即可直接运行 有训练集和测试集
- C#联合CODESOFT标签在线列印软件,源代码,适合自己做二次开发标签在线列印软件 里面可以选择不同的图片进行输出
- 基于BP神经网络 粒子群优化BP神经网络 CNN卷积神经网络 LSTM 长短期记忆神经网络 ELMAN递归神经网络 BiLSTM双向长短期记忆 遗传算法神经网络 七种神经网络回归预测算法汇总(基于M
- abaqus土木工程钢筋混凝土梁弯曲损伤结构混凝土塑性损伤本构弯曲加载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈