当前位置: 首页 > news >正文

查工程项目的网站博物馆设计

查工程项目的网站,博物馆设计,网站 数据库 sql 导入数据库,怎样把网站的背景图片Qt在工业上的使用场景包括工业自动化、嵌入式系统、汽车行业、航空航天、医疗设备、制造业和物联网应用。Qt被用来开发工业设备的用户界面、控制系统、嵌入式应用和其他工业应用#xff0c;因其跨平台性和丰富的功能而备受青睐。 Qt能够为工业领域带来什么好处#xff1a; -…Qt在工业上的使用场景包括工业自动化、嵌入式系统、汽车行业、航空航天、医疗设备、制造业和物联网应用。Qt被用来开发工业设备的用户界面、控制系统、嵌入式应用和其他工业应用因其跨平台性和丰富的功能而备受青睐。 Qt能够为工业领域带来什么好处 - Qt提供了强大的图形引擎使开发人员能够创建具有吸引力和高性能的用户界面 - Qt允许开发人员根据具体需求定制用户界面和功能。这对于满足不同行业和项目的独特需求至关重要使工业应用能够实现个性化的解决方案 - Qt提供了丰富的库和工具涵盖了各种应用程序开发需求包括图形、网络通信、多媒体处理、数据存储等。这简化了工业应用程序的开发流程 - Qt可以轻松与各种硬件设备和通信协议集成这对于工业自动化和控制系统来说非常重要因为它们需要与各种传感器、执行器和其他工业设备进行通信 创龙科技基于全志双核Cortex-A71.2GHz处理器T113-i精心设计的全国产工业开发板它提供了Qt的运行环境可以让我们快速的部署工业领域的用户交互界面控制系统等。 接下来我们来聊聊如何在创龙科技T113-i工业开发板上部署Qt应用。 开发板Qt运行环境 开发板SDK准备 创龙科技的资料中提供了开发板的SDK-T113-i_v1.0.tar.gz需要解压ubuntu中解压出来 ricerice:~$ mkdir t113 //创建t113工作目录然后将压缩包拷贝到此目录 ricerice:~$ cd t113 ....ricerice:~/t113$ tar -zxvf SDK-T113-i_v1.0.tar.gz ricerice:~/t113$ cd T113-i_v1.0/ ricerice:~/t113/T113-i_v1.0$ ls brandy buildroot device install_tools.sh out rtos-dsp tools build build.sh kernel platform test安装依赖软件创龙科技提供了安装脚本install_tools.sh我们执行该脚本即可完成依赖工具的安装 ricerice:~/t113/T113-i_v1.0$ ./install_tools.sh [sudo] password for rice: Reading package lists... Done Building dependency tree Reading state information... Done texinfo is already the newest version (6.5.0.dfsg.1-2). 0 upgraded, 0 newly installed, 0 to remove and 121 not upgraded. Reading package lists... Done Building dependency tree Reading state information... Done pkg-config is already the newest version (0.29.1-0ubuntu2). 0 upgraded, 0 newly installed, 0 to remove and 121 not upgraded. Reading package lists... Done...... 解压Buildroot dl–dl.tar.gz其为 Buildroot dl 目录压缩包用于存放从官网下载的开源软件包 ricerice:~/t113$ tar -xvf dl.tar.gz -C ~/t113/buildroot/buildroot-201902/构建Qt固件 在编译固件前先清理一下SDK的编译和配置生成文件 ricerice:~/t113/T113-i_v1.0$ ./build.sh distclean配置linux内核处理器型号显示方式编译器等信息 ricerice:~/t113/T113-i_v1.0$ ./build.sh config Welcome to mkscript setup progress All available platform:0. linux Choice [linux]: 0 All available linux_dev:0. bsp1. dragonboard2. longan3. tinyos Choice [longan]: 2 All available kern_ver:0. linux-5.4 Choice [linux-5.4]: 0 All available ic:0. t1131. t113_i Choice [t113_i]: 1 All available board:0. evb11. evb1_auto2. evb1_auto_nand3. evb1_auto_nor4. tlt113-evm-emmc5. tlt113-evm-nand6. tlt113-minievm-emmc7. tlt113-minievm-nand Choice [tlt113-evm-nand]: 5 All available output_configs:0. hdmi1. lvds-lcd2. mipi-lcd3. tft-lcd4. cvbs Choice [hdmi]: 0 All available flash:0. default1. nor Choice [default]: 0 All available build_root:0. buildroot-2019021. ubuntu Choice [buildroot-201902]: 0 All available gnueabi:0. gnueabi1. gnueabihf Choice [gnueabi]: 0 设置编译的环境变量 ricerice:~/t113/T113-i_v1.0$ source ./build/envsetup.sh我们采用一键编译 SPL、U-Boot、Linux 内核和 buildroot文件系统。 ricerice:~/t113/T113-i_v1.0$ ./build.sh ACTION List: mklichee; Execute command: mklichee INFO: ---------------------------------------- INFO: build lichee ... INFO: chip: sun8iw20p1 INFO: platform: linux INFO: kernel: linux-5.4 INFO: board: tlt113-evm-nand INFO: output: /home/rice/t113/T113-i_v1.0/out/t113_i/tlt113-evm-nand/longan INFO: ---------------------------------------- INFO: build buildroot ... Prepare br toolchain gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi.tar.xz... make: Entering directory /home/rice/t113/T113-i_v1.0/buildroot/buildroot-201902... 编译Qt库使其开发板固件支持Qt应用运行环境 ricerice:~/t113/T113-i_v1.0$ ./build.sh qt ACTION List: mkqt; Execute command: mkqt INFO: build Qt ... INFO: build arm-linux-gnueabi versions Qt /home/rice/t113/T113-i_v1.0/platform/framework/qt/qt-everywhere-src-5.12.5 Using built-in specs. COLLECT_GCCgcc COLLECT_LTO_WRAPPER/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper OFFLOAD_TARGET_NAMESnvptx-none OFFLOAD_TARGET_DEFAULT1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversionUbuntu 7.5.0-3ubuntu1~18.04 --with-bugurlfile:///usr/share/doc/gcc-7/README.Bugs --enable-languagesc,ada,c,go,brig,d,fortran,objc,obj-c --prefix/usr --with-gcc-major-version-only --program-suffix-7 --program-prefixx86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir/usr/lib --without-included-gettext --enable-threadsposix --libdir/usr/lib --enable-nls --enable-bootstrap --enable-clocalegnu --enable-libstdcxx-debug --enable-libstdcxx-timeyes --with-default-libstdcxx-abinew --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gcauto --enable-multiarch --disable-werror --with-arch-32i686 --with-abim64 --with-multilib-listm32,m64,mx32 --enable-multilib --with-tunegeneric --enable-offload-targetsnvptx-none --without-cuda-driver --enable-checkingrelease --buildx86_64-linux-gnu --hostx86_64-linux-gnu --targetx86_64-linux-gnu Thread model: posix..... 打包系统镜像文件执行之后可以看到生成的固件文件它默认生成两个版本的固件分别是nand固件和SD卡固件我们是采用SD卡启动所以使用SD卡固件。 ricerice:~/t113/T113-i_v1.0$ ./build.sh pack ACTION List: mkpack ; Execute command: mkpack INFO: packing firmware ... INFO: Use BIN_PATH: /home/rice/t113/T113-i_v1.0/device/config/chips/t113_i/bin copying tools file copying configs file copying product configs file /home/rice/t113/T113-i_v1.0/out/pack_out/aultls32.fex /home/rice/t113/T113-i_v1.0/out/pack_out/aultools.fex /home/rice/t113/T113-i_v1.0/out/pack_out/boot_package.cfg /home/rice/t113/T113-i_v1.0/out/pack_out/boot_package.fex...... dsp0.fex Len: 0x3fc78 Vdsp0.fex Len: 0x4 BuildImg 0 Dragon execute image.cfg SUCCESS ! ----------image is at----------size:613M /home/rice/t113/T113-i_v1.0/out/t113_i_linux_tlt113-evm-nand-sdboot_uart0.imgpack finish运行环境验证 下载运行实例 将编译打包后的固件(t113_i_linux_tlt113-evm-nand-sdboot_uart0.img)放到windows上通过工具PhoenixCard.exe烧录到SD卡上。将SD卡插到读卡器上然后插进电脑 创龙科技提供了qt的demo我们将led_control的实例拷贝到板子上 ricerice:~/t113/qt-demos/led_control/bin$ scp led_control rootip:~/创龙T113-i上运行实例 关闭默认的Qt运行程序设置qt的环境变量 rootT113-Tronlong:~# killall Launcher rootT113-Tronlong:~# source /etc/qtenv.sh add /dev/input/event1 to Qt Application. find qt5 installed done运行实例验证Qt功能运行效果如图 rootT113-Tronlong:~# ./led_control Qt开发环境 开发环境下载 Qt开发环境下载作者是使用Qt 5.12.0下载链接https://download.qt.io/archive/qt/5.12/5.12.0/Ubuntu需要下载qt-opensource-linux-x64-5.12.0.run 开发环境交叉编译环境配置 配置Debuggers 点击菜单栏Tools - Options击Kits - Debuggers - Add - Browse…选择目标平台的GDB路径/home/rice/t113/T113-i_v1.0/out/t113_i/tlt113-evm-nand/longan/buildroot/host/usr/bin/arm-linux-gnueabi-gdb 配置交叉工具链 点击菜单栏Tools - Options击Kits - Compilers - Add - GCC - C - Browse…选择目标平台的交叉工具链路径/home/rice/t113/T113-i_v1.0/out/t113_i/tlt113-evm-nand/longan/buildroot/host/usr/bin/arm-linux-gnueabi-g 配置Qt Versions 点击菜单栏Tools - Options击Kits - Qt Versions - Add - GCC - C - Browse…选择目标平台的Qt Versions路径/home/rice/t113/T113-i_v1.0/platform/framework/qt/qt-everywhere-src-5.12.5/Qt_5.12.5/bin/qmake 配置Kits 点击菜单栏Tools - Options击Kits - Kits将 Name 修改为T113Device type 选择Generic Linux DeviceCompiler 的 C选择T113-GCCDebugger 选择T113-DebuggerQt version 选择T113-qt5点击 Apply然后点击 OK 完成配置 开发Qt应用 作者开发了一个快速验证硬件功能的主要功能包含 板载LED灯控制代码实现 static QString ledPath /sys/class/leds/user-led0;void rice::ledInit() {setLedStatus(0);ui-ledPushButton-setText(LED OFF);ui-ledPushButton-setStyleSheet(border-width:1px;border-style:solid; border-color:white;background-color:rgba(88, 88, 88, 200)); }void rice::ledDeinit() {}bool rice::setLedStatus(int status) {QString cmd echo QString::number(status) ledPath /brightness;if (system(cmd.toStdString().c_str()) -1) {printf(set led status failed!\n);return false;}return true; }int rice::getLedStatus(void) {QString cmd cat ledPath /brightness;FILE *fp popen(cmd.toStdString().c_str(), r);if (fp nullptr) {return -1;}char led_status[32];if (fgets(led_status, sizeof(led_status), fp) nullptr) {printf(fgets error: %s\n, cmd.toStdString().c_str());pclose(fp);return -1;}pclose(fp);return atoi(led_status); }void rice::on_ledPushButton_clicked() {int ledStatus getLedStatus();if (ledStatus 0) {setLedStatus(1);ui-ledPushButton-setText(LED ON);ui-ledPushButton-setStyleSheet(border-width:1px;border-style:solid; border-color:white;background-color:rgba(00, 205, 00, 255));}else {setLedStatus(0);ui-ledPushButton-setText(LED OFF);ui-ledPushButton-setStyleSheet(border-width:1px;border-style:solid; border-color:white;background-color:rgba(88, 88, 88, 200));} }板载按键检测代码实现 void rice::keyInit() {keyFd open(keyPath.toUtf8().data(), O_RDONLY);if(keyFd -1){printf(Can not open file(%s), keyPath.toUtf8().data());return;}ui-keyTextEdit-append(Key Monitor!\n);ui-keyTextEdit-append(Key user0 pressed!);keyNotify new QSocketNotifier(this-keyFd, QSocketNotifier::Read, this);connect(this-keyNotify, SIGNAL(activated(int)), this, SLOT(keyHandler())); }void rice::keyDeinit() {}void rice::keyHandler() {struct input_event buf;if(read(keyFd, buf, sizeof(struct input_event)) 0){if(buf.code KEY_PROG1 buf.value 1){ui-keyTextEdit-append(Key user0 pressed!);}} }RTC时钟获取并显示代码实现 void rice::dateInit() {struct rtc_time rtc_tm_temp;dateFd open(datePath.toUtf8().data(), O_RDONLY);if(dateFd -1){printf(Can not open file(%s), keyPath.toUtf8().data());return;}if(ioctl(dateFd, RTC_RD_TIME, rtc_tm_temp) 0){printf(Get date failed);return;}ui-yearLineEdit-setText(QString::number(rtc_tm_temp.tm_year 1900));ui-monthLineEdit-setText(QString::number(rtc_tm_temp.tm_mon 1));ui-dayLineEdit-setText(QString::number(rtc_tm_temp.tm_mday)); }void rice::dateDeint() {}网络调试助手代码实现 void rice::netInit() {server new QTcpServer();socket new QTcpSocket(); }void rice::netDeint() {}void rice::netNewClientConnect() {socket server-nextPendingConnection();connect(socket, QTcpSocket::readyRead, this, rice::netNewRcve); }void rice::on_netPushButton_clicked() {int port ui-portLineEdit-text().toInt();if(ui-netPushButton-text() tr(Open)){if(ui-typeComboBox-currentText() tr(Server)){connect(server, QTcpServer::newConnection, this, rice::netNewClientConnect);if(!server-listen(QHostAddress::Any, port)){printf(Listen failed\n);return;}}else if(ui-typeComboBox-currentText() tr(Client)){QString ip ui-ipComboBox-currentText();socket-abort();socket-connectToHost(ip, port);if(!socket-waitForConnected(3000)){printf(Connect server failed);return;}connect(socket, QTcpSocket::readyRead, this, rice::netNewRcve);}ui-netPushButton-setText(Close);}else if(ui-netPushButton-text() tr(Close)){if(ui-typeComboBox-currentText() tr(Server)){socket-abort();server-close();}else if(ui-typeComboBox-currentText() tr(Client)){socket-disconnectFromHost();}ui-netPushButton-setText(Open);} }void rice::on_sendPushButton_clicked() {if(socket-isOpen()){socket-write(ui-sendLineEdit-text().toUtf8().data());} }void rice::netNewRcve() {ui-recvTextEdit-append(socket-readAll()); }void rice::on_typeComboBox_currentIndexChanged(const QString arg1) {if(arg1 tr(Server)){ui-ipComboBox-setEditable(false);}else{ui-ipComboBox-setEditable(true);} } Qt应用验证 板载LED灯控制验证当点击开关LED按钮时LED灯会根据状态亮灭 当应用运行起来时会获取RTC时间并显示 当板载按键按下时窗口会显示按键按下 网络调试助手支持TCP客户端和TCP服务器两种类型下面演示服务器验证。开发板上设置板子的IP和端口号然后通过PC上网络调试助手连接上板子并克实现数据的收发 客户端往服务器发送数据 服务器往客户端发送数据
http://www.hkea.cn/news/14453516/

相关文章:

  • 网站查询备案服务商昆山市建设局招投标网站
  • 网页小游戏网址seo网上培训
  • 东莞网站制作培训多少钱国外手机设计网站推荐
  • 深圳专业网站建设排名北京如何优化网站
  • 做网站怎么接活商城网站开发价格
  • 网站建设三方协议上海网站建设的企
  • 网站建设申请方案学习html5的网站
  • 做门户网站用什么软件备案老域名
  • 广州模板网站建设价格百度浏览官网
  • 做网站方面住房和城建设网站
  • 自己做开箱网站济南快速网站排名
  • 公司展示网站制作深圳网站建设 培训
  • 黄骅做网站|黄骅网站|黄骅百度优化|黄骅百度推广|黄骅微信|黄骅网站建设 风险
  • 做个网站好还是做淘宝好西安外贸网站建设
  • word做招聘网站网站与网页的区别.
  • 模板网站建设交互效果很好的网站
  • 广州网站制作哪家全面wordpress邮件找客户端
  • 中国建设工程造价管理协会网站招聘新开传奇手游
  • 深圳网站建 1设骏域网站建设有哪些竞价网站
  • 07年做网站关键词歌曲免费听
  • 北川建设局网站怎么防止网站被注册机
  • 沈阳网站企业咸阳机场建设招聘信息网站
  • 保靖网站建设同城信息发布平台
  • 网站换程序 搜索引擎wordpress主题代码框架
  • 安徽省网站肥建设网站动力无限西安网站建设
  • 做电商网站的wordpress js链接地址
  • 个人网站网页设计wordpress怎样在列表页使用瀑布流
  • 沈阳市建网站wordpress修改代码后
  • 网站域名过期了怎么办成功备案的网站增加域名
  • 百度商桥怎么绑定网站微商城开发公司有哪些比较好