基于dragonboard 410c的智能魔镜设计(8)——UI的python脚本实现

树莓派+Python:开发智能魔镜系统实现网络连接方案 树莓派+Python:开发智能魔镜系统实现网络连接方 智能家居产品越来越火爆,更多应用智能设备被开发出来,其中智能魔镜就是一个非常典型的产品。当你拥有了一台自美魔镜产品后,就需要将它连接上网络才能完全发挥它的功能。那么当你入手一台搭载自美魔镜系统的自美魔镜是如何进行配网的呢?。 配网步骤: 打开您的智能手机WiFi网络配置 ; 2. 找到HTTP_10_0_0_1_8088的无线网络连接(无... 阅读详情

      在http://blog.youkuaiyun.com/andymfc/article/details/54580647中,已经跟大家介绍如何智能魔镜的UI原型设计,并且采用designer.exe工具完成了原始的魔镜UI界面设计,可以看出,整个魔镜的UI设计非常简单,但是如果要实心较好的效果,我们单独使用designer.exe工具很难完成,这就需要我们在完成原型设计后得到的xml文件进行进一步的修改和细化,以达到我们的设计要求。

      这里,大家可以直接修改designer.exe文件的xml的元素的属性等来调节和细化UI,同时也可以使用pyuic5工具将其转换成py脚本,然后对其进行修改,本文在设计中,直接使用pyuic5工具将其进行了转换,然后进行修改,最终得到的UI代码如下:

     # -*- coding: utf-8 -*-
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        desktopRect=QtWidgets.QDesktopWidget().screenGeometry()
        MainWindow.resize(desktopRect.width(), desktopRect.height())
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/images/icon"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        self.centralWidget = QtWidgets.QWidget(MainWindow)
        self.centralWidget.setObjectName("centralWidget")
        self.centralWidget.resize(357, 1059)
        self.temp = QtWidgets.QLabel(self.centralWidget)
        self.centralWidget.setGeometry(desktopRect.width()-self.centralWidget.width(),0,self.centralWidget.width(),self.centralWidget.height())
        self.temp.setGeometry(QtCore.QRect(20, 60, 231, 100))
        font = QtGui.QFont()
        font.setFamily("楷体")
        font.setPointSize(40)
        font.setBold(False)
        font.setWeight(50)
        self.temp.setFont(font)
        self.temp.setText("")
        self.temp.setAlignment(QtCore.Qt.AlignCenter)
        self.temp.setObjectName("temp")
        self.city = QtWidgets.QLabel(self.centralWidget)
        self.city.setGeometry(QtCore.QRect(50, 160, 150, 30))
        font = QtGui.QFont()
        font.setPointSize(13)
        font.setBold(True)
        font.setWeight(75)
        self.city.setFont(font)
        self.city.setText("")
        self.city.setAlignment(QtCore.Qt.AlignCenter)
        self.city.setObjectName("city")
        self.date = QtWidgets.QLabel(self.centralWidget)
        self.date.setGeometry(QtCore.QRect(30, 245, 211, 25))
        font = QtGui.QFont()
        font.setPointSize(10)
        font.setBold(True)
        font.setWeight(75)
        self.date.setFont(font)
        self.date.setText("")
        self.date.setAlignment(QtCore.Qt.AlignCenter)
        self.date.setObjectName("date")
        self.closeButton = QtWidgets.QPushButton(self.centralWidget)
        self.closeButton.setGeometry(QtCore.QRect(240, 5, 25, 25))
        self.closeButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.closeButton.setText("")
        self.closeButton.setFlat(True)
        self.closeButton.setObjectName("closeButton")
        #self.layoutWidget = QtWidgets.QWidget(self.centralWidget)
        self.layoutWidget = QtWidgets.QWidget(MainWindow)
        self.layoutWidget.setGeometry(QtCore.QRect(0, desktopRect.height()-170, desktopRect.width(), 170))
        self.layoutWidget.setObjectName("layoutWidget")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.layoutWidget)
        self.horizontalLayout.setContentsMargins(11, 11, 11, 11)
        self.horizontalLayout.setSpacing(6)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setContentsMargins(11, 11, 11, 11)
        self.gridLayout.setSpacing(8)
        self.gridLayout.setObjectName("gridLayout")
        self.forecast_0_date = QtWidgets.QLabel(self.layoutWidget)
        self.forecast_0_date.setMinimumSize(QtCore.QSize(80, 20))
        self.forecast_0_date.setMaximumSize(QtCore.QSize(200, 40))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(8)
        self.forecast_0_date.setFont(font)
        self.forecast_0_date.setText("")
        self.forecast_0_date.setAlignment(QtCore.Qt.AlignCenter)
        self.forecast_0_date.setObjectName("forecast_0_date")
        self.gridLayout.addWidget(self.forecast_0_date, 0, 0, 1, 1)
        self.forecast_0_type = QtWidgets.QLabel(self.layoutWidget)
        self.forecast_0_type.setMinimumSize(QtCore.QSize(78, 75))
        self.forecast_0_type.setText("")
        self.forecast_0_type.setScaledContents(True)
        self.forecast_0_type.setObjectName("forecast_0_type")
        self.gridLayout.addWidget(self.forecast_0_type, 1, 0, 1, 1)
        self.forecast_0_temp = QtWidgets.QLabel(self.layoutWidget)
        self.forecast_0_temp.setMinimumSize(QtCore.QSize(75, 20))
        self.forecast_0_temp.setMaximumSize(QtCore.QSize(200, 40))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(8)
        self.forecast_0_temp.setFont(font)
        self.forecast_0_temp.setText("")
        self.forecast_0_temp.setAlignment(QtCore.Qt.AlignCenter)
        self.forecast_0_temp.setObjectName("forecast_0_temp")
        self.gridLayout.addWidget(self.forecast_0_temp, 2, 0, 1, 1)
        self.horizontalLayout.addLayout(self.gridLayout)
        self.gridLayout_2 = QtWidgets.QGridLayout()
        self.gridLayout_2.setContentsMargins(11, 11, 11, 11)
        self.gridLayout_2.setSpacing(8)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.forecast_1_date = QtWidgets.QLabel(self.layoutWidget)
        self.forecast_1_date.setMinimumSize(QtCore.QSize(75, 20))
        self.forecast_1_date.setMaximumSize(QtCore.QSize(200, 40))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(8)
        self.forecast_1_date.setFont(font)
        self.forecast_1_date.setText("")
        self.forecast_1_date.setAlignment(QtCore.Qt.AlignCenter)
        self.forecast_1_date.setObjectName("forecast_1_date")
        self.gridLayout_2.addWidget(self.forecast_1_date, 0, 0, 1, 1)
        self.forecast_1_type = QtWidgets.QLabel(self.layoutWidget)
        self.forecast_1_type.setMinimumSize(QtCore.QSize(78, 75))
        self.forecast_1_type.setText("")
        self.forecast_1_type.setScaledContents(True)
        self.forecast_1_type.setObjectName("forecast_1_type")
        self.gridLayout_2.addWidget(self.forecast_1_type, 1, 0, 1, 1)
        self.forecast_1_temp = QtWidgets.QLabel(self.layoutWidget)
        self.forecast_1_temp.setMinimumSize(QtCore.QSize(75, 20))
        self.forecast_1_temp.setMaximumSize(QtCore.QSize(200, 40))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(8)
        self.forecast_1_temp.setFont(font)
        self.forecast_1_temp.setText("")
        self.forecast_1_temp.setAlignment(QtCore.Qt.AlignCenter)
        self.forecast_1_temp.setObjectName("forecast_1_temp")
        self.gridLayout_2.addWidget(self.forecast_1_temp, 2, 0, 1, 1)
        self.horizontalLayout.addLayout(self.gridLayout_2)
        self.gridLayout_3 = QtWidgets.QGridLayout()
        self.gridLayout_3.setContentsMargins(11, 11, 11, 11)
        self.gridLayout_3.setSpacing(6)
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.forecast_2_date = QtWidgets.QLabel(self.layoutWidget)
        self.forecast_2_date.setMinimumSize(QtCore.QSize(75, 20))
        self.forecast_2_date.setMaximumSize(QtCore.QSize(200, 40))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(8)
        self.forecast_2_date.setFont(font)
        self.forecast_2_date.setText("")
        self.forecast_2_date.setAlignment(QtCore.Qt.AlignCenter)
        self.forecast_2_date.setObjectName("forecast_2_date")
        self.gridLayout_3.addWidget(self.forecast_2_date, 0, 0, 1, 1)
        self.forecast_2_type = QtWidgets.QLabel(self.layoutWidget)
        self.forecast_2_type.setMinimumSize(QtCore.QSize(78, 75))
        self.forecast_2_type.setText("")
        self.forecast_2_type.setScaledContents(True)
        self.forecast_2_type.setObjectName("forecast_2_type")
        self.gridLayout_3.addWidget(self.forecast_2_type, 1, 0, 1, 1)
        self.forecast_2_temp = QtWidgets.QLabel(self.layoutWidget)
        self.forecast_2_temp.setMinimumSize(QtCore.QSize(75, 20))
        self.forecast_2_temp.setMaximumSize(QtCore.QSize(200, 40))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(8)
        self.forecast_2_temp.setFont(font)
        self.forecast_2_temp.setText("")
        self.forecast_2_temp.setAlignment(QtCore.Qt.AlignCenter)
        self.forecast_2_temp.setObjectName("forecast_2_temp")
        self.gridLayout_3.addWidget(self.forecast_2_temp, 2, 0, 1, 1)
        self.horizontalLayout.addLayout(self.gridLayout_3)
        self.gridLayout_4 = QtWidgets.QGridLayout()
        self.gridLayout_4.setContentsMargins(11, 11, 11, 11)
        self.gridLayout_4.setSpacing(6)
        self.gridLayout_4.setObjectName("gridLayout_4")
        self.forecast_3_date = QtWidgets.QLabel(self.layoutWidget)
        self.forecast_3_date.setMinimumSize(QtCore.QSize(75, 20))
        self.forecast_3_date.setMaximumSize(QtCore.QSize(200, 40))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(8)
        self.forecast_3_date.setFont(font)
        self.forecast_3_date.setText("")
        self.forecast_3_date.setAlignment(QtCore.Qt.AlignCenter)
        self.forecast_3_date.setObjectName("forecast_3_date")
        self.gridLayout_4.addWidget(self.forecast_3_date, 0, 0, 1, 1)
        self.forecast_3_type = QtWidgets.QLabel(self.layoutWidget)
        self.forecast_3_type.setMinimumSize(QtCore.QSize(78, 75))
        self.forecast_3_type.setText("")
        self.forecast_3_type.setScaledContents(True)
        self.forecast_3_type.setObjectName("forecast_3_type")
        self.gridLayout_4.addWidget(self.forecast_3_type, 1, 0, 1, 1)
        self.forecast_3_temp = QtWidgets.QLabel(self.layoutWidget)
        self.forecast_3_temp.setMinimumSize(QtCore.QSize(75, 20))
        self.forecast_3_temp.setMaximumSize(QtCore.QSize(200, 40))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(8)
        self.forecast_3_temp.setFont(font)
        self.forecast_3_temp.setText("")
        self.forecast_3_temp.setAlignment(QtCore.Qt.AlignCenter)
        self.forecast_3_temp.setObjectName("forecast_3_temp")
        self.gridLayout_4.addWidget(self.forecast_3_temp, 2, 0, 1, 1)
        self.horizontalLayout.addLayout(self.gridLayout_4)
        self.gridLayout_5 = QtWidgets.QGridLayout()
        self.gridLayout_5.setContentsMargins(11, 11, 11, 11)
        self.gridLayout_5.setSpacing(6)
        self.gridLayout_5.setObjectName("gridLayout_5")
        self.forecast_4_date = QtWidgets.QLabel(self.layoutWidget)
        self.forecast_4_date.setMinimumSize(QtCore.QSize(75, 20))
        self.forecast_4_date.setMaximumSize(QtCore.QSize(200, 40))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(8)
        self.forecast_4_date.setFont(font)
        self.forecast_4_date.setText("")
        self.forecast_4_date.setAlignment(QtCore.Qt.AlignCenter)
        self.forecast_4_date.setObjectName("forecast_4_date")
        self.gridLayout_5.addWidget(self.forecast_4_date, 0, 0, 1, 1)
        self.forecast_4_temp = QtWidgets.QLabel(self.layoutWidget)
        self.forecast_4_temp.setMinimumSize(QtCore.QSize(75, 20))
        self.forecast_4_temp.setMaximumSize(QtCore.QSize(200, 40))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(8)
        self.forecast_4_temp.setFont(font)
        self.forecast_4_temp.setText("")
        self.forecast_4_temp.setAlignment(QtCore.Qt.AlignCenter)
        self.forecast_4_temp.setObjectName("forecast_4_temp")
        self.gridLayout_5.addWidget(self.forecast_4_temp, 2, 0, 1, 1)
        self.forecast_4_type = QtWidgets.QLabel(self.layoutWidget)
        self.forecast_4_type.setMinimumSize(QtCore.QSize(78, 75))
        self.forecast_4_type.setText("")
        self.forecast_4_type.setScaledContents(True)
        self.forecast_4_type.setObjectName("forecast_4_type")
        self.gridLayout_5.addWidget(self.forecast_4_type, 1, 0, 1, 1)
        self.horizontalLayout.addLayout(self.gridLayout_5)
        self.layoutWidget1 = QtWidgets.QWidget(self.centralWidget)
        self.layoutWidget1.setGeometry(QtCore.QRect(10, 200, 120, 55))
        self.layoutWidget1.setObjectName("layoutWidget1")
        self.gridLayout_7 = QtWidgets.QGridLayout(self.layoutWidget1)
        self.gridLayout_7.setContentsMargins(11, 11, 11, 11)
        self.gridLayout_7.setSpacing(6)
        self.gridLayout_7.setObjectName("gridLayout_7")
        self.label_3 = QtWidgets.QLabel(self.layoutWidget1)
        self.label_3.setMinimumSize(QtCore.QSize(30, 30))
        self.label_3.setMaximumSize(QtCore.QSize(60, 30))
        font = QtGui.QFont()
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.label_3.setFont(font)
        self.label_3.setText("")
        self.label_3.setScaledContents(True)
        self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_3.setObjectName("label_3")
        self.gridLayout_7.addWidget(self.label_3, 0, 0, 1, 1)
        self.shidu = QtWidgets.QLabel(self.layoutWidget1)
        #self.shidu.setFont(font)
        self.shidu.setMinimumSize(QtCore.QSize(30, 30))
        self.shidu.setMaximumSize(QtCore.QSize(60, 30))
        font = QtGui.QFont()
        font.setPointSize(9)
        font.setBold(False)
        font.setWeight(50)
        self.shidu.setFont(font)
        self.shidu.setText("")
        self.shidu.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
        self.shidu.setObjectName("shidu")
        self.gridLayout_7.addWidget(self.shidu, 0, 1, 1, 1)
        self.layoutWidget2 = QtWidgets.QWidget(self.centralWidget)
        self.layoutWidget2.setGeometry(QtCore.QRect(110, 200, 200, 55))
        self.layoutWidget2.setObjectName("layoutWidget2")
        self.gridLayout_8 = QtWidgets.QGridLayout(self.layoutWidget2)
        self.gridLayout_8.setContentsMargins(11, 11, 11, 11)
        self.gridLayout_8.setSpacing(6)
        self.gridLayout_8.setObjectName("gridLayout_8")
        self.fengxiang = QtWidgets.QLabel(self.layoutWidget2)
        self.fengxiang.setMinimumSize(QtCore.QSize(70, 30))
        self.fengxiang.setMaximumSize(QtCore.QSize(70, 30))
        font = QtGui.QFont()
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.fengxiang.setFont(font)
        self.fengxiang.setText("")
        self.fengxiang.setScaledContents(True)
        self.fengxiang.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.fengxiang.setObjectName("fengxiang")
        self.gridLayout_8.addWidget(self.fengxiang, 0, 0, 1, 1)
        self.fengli = QtWidgets.QLabel(self.layoutWidget2)
        self.fengli.setMinimumSize(QtCore.QSize(80, 30))
        self.fengli.setMaximumSize(QtCore.QSize(80, 30))
        font = QtGui.QFont()
        font.setPointSize(9)
        font.setBold(False)
        font.setWeight(50)
        self.fengli.setFont(font)
        self.fengli.setText("")
        self.fengli.setObjectName("fengli")
        self.gridLayout_8.addWidget(self.fengli, 0, 1, 1, 1)
        self.webMessageText = QtWebKitWidgets.QWebView(self.centralWidget)
        self.webMessageText.setGeometry(QtCore.QRect(10, 460, 331, 241))
        self.webMessageText.setUrl(QtCore.QUrl("about:blank"))
        self.webMessageText.setObjectName("webMessageText")
        self.webMemorandum = QtWebKitWidgets.QWebView(MainWindow)
        self.webMemorandum.setGeometry(QtCore.QRect(10, 30, 331, 180))
        self.webMemorandum.setUrl(QtCore.QUrl("about:blank"))
        self.webMemorandum.setObjectName("webMemorandum")
        font = QtGui.QFont()
        font.setPointSize(8)
        font.setBold(False)
        font.setWeight(50)
        self.helloWelcome = QtWidgets.QLabel(self.centralWidget)
        self.helloWelcome.setGeometry(QtCore.QRect(20, 10, 251, 31))
        self.helloWelcome.setFont(font)
        self.helloWelcome.setText("")
        self.helloWelcome.setObjectName("helloWelcome")
        self.webZhishu = QtWebKitWidgets.QWebView(self.centralWidget)
        self.webZhishu.setGeometry(QtCore.QRect(10, 290, 301, 150))
        self.webZhishu.setUrl(QtCore.QUrl("about:blank"))
        self.webZhishu.setObjectName("webZhishu")
        #MainWindow.setCentralWidget(self.centralWidget)
        self.retranslateUi(MainWindow)
        self.closeButton.clicked.connect(MainWindow.close)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "Weather"))
        self.closeButton.setToolTip(_translate("MainWindow", "关闭"))
from PyQt5 import QtWebKitWidgets
#import res_rc

     在这里进行的主要修改涉及两个方面,一个方面是字体的调整,还有一个就是自适应的调整,因为设计的过程中是按照横屏模式来进行设计的,而运行的过程中,会通过指令将系统调整成竖屏模式,因此就需要对其进行相关的调整,最终避免横竖屏切换的过程中的字体变化过大,影响界面美观。

     以上就是整个智能魔镜的UI设计,利用这个UI文件我们在智能魔镜系统中可以方便的通过import该类来完成UI的生成,实现智能魔镜的UI交互功能。

    

用树莓派做魔镜 用树莓派来做魔镜   一部分内容的转载声明:我是参照http://www.tuicool.com/articles/IFnQn2U这个网站做得,并加以修改,完成了这次大作业   一、材料 树莓派、原子镜(我们是用贴膜的,材料还没到,暂时不知道效果怎么样)、显示器(显示屏+对应的驱动板)、HDMI线(HDMI转VGA)、8G及以上容量内存卡、Raspbian系统、Dht11温度传感器   阅读详情

相关推荐

MagicMirror:树莓派智能镜子

魔镜 树莓派智能镜子

动手DIY一个智能镜子

作者 | Colin Mansfield责编 | 苏宓微信公众号ID | csdn_iot最近我已深深陷入“家庭自动化”而无法自拔了。如果你对家庭自动化不熟的话,你可能听说过“物联网”。尽管这二者略有差异(自动化力求让物体自动完成某些操作,而物联网只是在应用 — 例如咖啡壶、砂锅等 — 中加入 wifi 联网功能),但是它们有一个共同之处:都相当昂贵!一个开箱即用的家庭...

m0_46700908的博客 1501

树莓派魔镜项目源代码

这个是树莓派魔镜项目的源代码,我从github下载下来的。

python私人定制_拿下Python的if语句,就可以制造一款私人"魔镜"

hello,小数先生粗线啦~~~今天教大家制作一款私人定制的“魔镜”先看下魔镜效果(看完文章就可以自己做一个啦)https://www.zhihu.com/video/1172537404644134912Python条件控制Python条件语句时通过一条或多条语句的执行结果(True或则False)来决定执行的代码块总共有三种表现形式,我们全部拿下(成年人才不做选择题)单向判断:ifif就像我们...

weixin_39563722的博客 307

Python-wukongrobot是一个简单灵活优雅的中文语音对话机器人智能音箱项目

wukong-robot 是一个简单、灵活、优雅的中文语音对话机器人/智能音箱项目,目的是让中国的 Maker 和 Haker 们也能快速打造个性化的智能音箱。

Caffeine:为每个元素动态设置过期时间

Caffeine利用expireAfter方法实现为每个元素动态设置过期时间

大数据开发、JAVA开发、人工智能AI 1万+

7-4 魔镜

传说魔镜可以把任何接触镜面的东西变成原来的两倍,不过增加的那部分是反的。例如,对于字符串XY,若把Y端接触镜面,则魔镜会把这个字符串变为XYYX;若再用X端接触镜面,则会变成XYYXXYYX。对于一个最终得到的字符串(可能未接触魔镜),请输出没使用魔镜之前,该字符串最初可能的最小长度。

qq_62560218的博客 2174

跨厂商网络设备的RADIUS认证:Windows NPS的兼容性与最佳实践

本文详细探讨了Windows NPS在多厂商网络环境中的RADIUS认证实践,特别针对华为、华三、思科等主流设备的兼容性问题提供解决方案。从基础配置到高级优化,涵盖VSA属性映射、认证协议选择及安全加固措施,帮助企业实现统一身份认证并提升网络安全性。

weixin_29213827的博客 421

基于树莓派的智能魔镜,支持人脸识别、情感监测、热词唤醒、语音交互,以及与手机APP交互、温湿度/新闻热点/日期显示等

基于树莓派的智能魔镜,支持人脸识别、情感监测、热词唤醒、语音交互,以及与手机APP交互、温湿度/新闻热点/日期显示等功能

xfxuezhang.cn 3万+

【操作系统】Hello CTF-专为CTF比赛封装的虚拟机 Beta版

很多师傅在学习与研究CTF的道路上,总是碰到想提升自我水平,但缺少本地化的训练环境以及安装各类软件的烦恼现象;因此拥有一些趁手“武器”,干起活来将会事半功倍。CTFos是探姬(ProbiusOfficial)专为CTF比赛封装的虚拟机,基于工具集封装多个版本和系统。CTF入门选手各行业网络/信息从业人员安全相关工作人员但不想在工作机上安装CTF一些奇葩的软件…该系统是通过虚拟机封装的,需要使用打开!一个专为CTF比赛封装的虚拟机,开箱即用。

qq_47493625的博客 1万+

【昇腾】用MindIE(服务化方式)拉起glm4-9b-chat模型问题解决

【昇腾】用MindIE拉起glm4-9b-chat模型问题解决: LLMInferEngine failed to init LLMInferModels ERR: Failed to init endpoint! Please check the service log or console output. Killed make sure the folder's owner has execute permission.

u014448841的博客 5117

【有手就行】教你做一个树莓派魔镜

文章目录Magirror——基于pygame的树莓派魔镜(一)功能概览(二)环境要求1.硬件要求2.基础软件要求3.pip包4.HTTPS API接口聚合数据(需要注册账号)心知天气(需要注册账号)知乎日报百度热搜一言(三)环境配置1.配置API秘钥相关信息修改Function/Weather.py修改Function/Fun.py2.自定义数据写入自己的课表信息自定义一言句子类型3.树莓派换python3(四)运行(五)组装(六)常见问题(柒)所以可以捐赠鼓励一下吗?(六)常见问题(柒)所以可以捐赠鼓励一

夜何其的博客 6186

rk3399开发环境的介绍

由于Bluez的介绍文档有限,以及对Linux 系统/驱动概念、D-Bus 通信和蓝牙协议都有要求,加上网络上其实没有一个完整的介绍Bluez系列的文档,所以不管是蓝牙初学者还是蓝牙从业人员,都有不小的难度,学习曲线也相对较陡,所以我有了这个想法,专门对Bluez做一个系统性的介绍,尽可能的涵盖所有内容。

朝气蓬勃 711

基于dragonboard 410c的智能魔镜设计(7)——UI原型设计

前面在相关的blog中已经对如何实现智能魔镜的消息检索、视频消息播放等进行了详细介绍,但是只是给出了相应的算法和设计逻辑代码,最终我们如果想在魔镜上进行消息的显示和视频播放,还需要构建UI系统来完成,这里我们前面  《Dragonbaord 410c Python交互设计》系列blog中对于在dragonboard 410c中的UI交互设计进行了介绍,并且教大家如何使用pyQt来构建自己的交互系统

ANDYMFC的博客 2872

Puchem化合物数据批量抓取采集_宝典_教程_Python爬虫

本文共计6500字,导出到PDF达42页(含代码)。从0教你如何抓取Pubchem化合物数据。 1、 Pubchem介绍 ​ Pubchem是美国国立卫生研究院(NIH)的开放式化学数据库,自2004年推出以来,pubchem已成为科学家、学生和公众的重要化学信息资源。其专门针对化学结构搜索,是网络药理学研究经常用到的数据库之一,不仅使用方便而且免费。 ​ PubChem主要包含小分子,但也包含较大的分子,例如核苷酸,碳水化合物,脂质,肽和化学修饰的大分子。收集有关化学结构,标识符,化学和物理性..

qq_34843422的博客 6074

AUTOSAR进阶图解==>AUTOSAR_SWS_ADCDriver

本文深入解析了AUTOSAR ADC Driver的架构设计和技术实现。主要内容包括:1)ADC Driver在AUTOSAR分层架构中的定位及核心功能;2)详细的模块架构设计,涵盖初始化管理、组转换管理、优先级处理等核心子组件;3)全面的配置模型说明,包括主配置类、通用配置、通道配置等关键数据结构;4)状态机机制和操作序列分析。通过分层设计和标准化接口,ADC Driver实现了硬件抽象和软件解耦,提供了良好的可移植性和可维护性。

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 786

基于dragonboard 410c的智能魔镜设计(9)——UI交互控制逻辑实现

在http://blog.csdn.net/andymfc/article/details/54580647和http://blog.csdn.net/andymfc/article/details/54581209两个blog中已经跟大家介绍了整个智能魔镜端的交互UI的设计原型和实现的python脚本及方式,这里将进一步教大家如何实现整个UI交互的逻辑控制程序,根据http://blog.csd

ANDYMFC的博客 2120

13、无人机网络安全攻击检测:入侵检测系统综述

本文综述了无人机网络(FANETs)中的网络安全攻击与入侵检测系统(IDS)研究进展。文章介绍了无人机网络的架构设计、路由协议分类及移动模型,重点分析了DoS、DDoS、病毒蠕虫和零日攻击等常见安全威胁,并系统梳理了网络型、主机型、签名型、异常型、混合型等多种IDS的技术原理与应用。通过对比不同攻击类型及其检测机制,提出了综合使用多类IDS、更新签名库、优化路由、加强加密和建立应急响应等安全防护建议。同时展望了人工智能、量子安全和融合安全架构等未来发展趋势,旨在为提升无人机网络的安全性提供全面的技术参考。

wasm7browser的博客 162

Python期末考试

文章目录1.水滴石穿 (10 分)2.输出矩形 (10 分)3.n的阶乘 (10 分)4.密码是否符合要求 (10 分)5.魔镜 (10 分)6.整数个数 (10 分)7.最大的差值 (10 分)8.成绩排序 (10 分)9.新年快乐 (10 分)10.一个!两个!蓝精灵(难度大) (10 分) 1.水滴石穿 (10 分) 水滴石穿是一个成语,起源于东汉班固的《中书•梅城传》。 成语的意思是水不断滴落,能穿石而下;比喻坚持不懈,潜移默化的力量也能成就艰巨的工作。 假设 M 滴水可以穿透 1 cm厚的石头。

Anemia_的博客 3852

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

智能镜——5.应用入口及触摸按键实现篇

在上一篇文章《自制智能镜之——嵌入式开发环境搭建篇》中介绍了如何在涂鸦平台上创建智能镜和嵌入式开发环境的搭建流程。在搭建完一个实现了配网绑定和 dp 功能点上报下发的基本代码框架后,我们就需要来完成具体的功能实现代码了。在这里给出一个本 demo 的例程,大家可以参照文章一起浏览,也可以在本 demo 例程的基础上添加别的新颖的功能。 应用层入口 打开demo例程,其中的apps文件夹内就是demo的应用代码。应用代码结构如下:

三明治开发社区的博客 1011

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

智能镜——6.屏幕显示时间日期篇

上一节介绍了有关应用层代码的结构及应用入口和触摸按键的实现等相关内容,这节来说说智能镜的屏幕显示和时间日期的获取。 ​ ​ ​ ​ ​ ​ ​ ​ 屏幕显示 ​ ​ ​ ​ 本demo选用的是一个块2.19寸集成模块串口屏,分辨率376x240,参照通信协议发送指令即可驱动,非常简单。不过要显示时间日期等信息,光靠屏幕内

三明治开发社区的博客 2141

智能镜子制作_更智能的镜子及其制作方法

智能镜子制作A while ago I made a smart mirror for my bathroom. Maybe you’ve seen it. It started with a particular image in my mind. I wanted to build a piece of technology for the home that feels new and fu...

weixin_26744853的博客 2381

FastCV SDK详解

Hexagon SDK之FastCV详解     高通发布的FastCV是一个针对移动平台的计算机视觉库,如今的版本支持运行在windows、Mac和Linux等大部分平台,并对于高通自家的Snapdragon做了特别优化的。FastCV提了为移动设备优化的计算机视觉(CV)库,包括移动设备广泛使用的视觉处理函数和大众市场手机。中间件开发人员可以使用FastCV构建框架开发人员所需要的计算机

awangqm的博客 1万+

基于dragonboard 410c的智能魔镜设计(1)——整体方案设计

本系列bolg将向大家分享,如何应用dragonboard 410c平台,设计一款融入人脸识别和web通信技术的智能魔镜,在使用镜子的时候,镜子会通过自身的摄像头检测出使用者身份,根据使用者身份ID推送预先定制的备忘信息,同时还会实时的显示天气和室内外温度信息等,并且基于web技术实现镜子与其他家庭智能设备及手机的互联,用户可以将自己的提示信息和备忘信息,以及给家人的爱心贴等推送到镜子,镜子会在相

ANDYMFC的博客 3625

魔镜介绍页,页面

123 转载于:https://www.cnblogs.com/dingruinb/p/6603270.html

weixin_30878361的博客 215

简易智能家居管理--魔镜(2):界面

0、说些废话 界面开发网上有两个思路,一是传统的前端界面开发,PHP、CSS之类的,然而我并不会前端的开发,暂时也没这么多时间去折腾了,所以先采用原生的界面。二是用QT来作为跨平台的开发,先在window这边用QT creator进行界面的布局并且实现相应的功能,然后再用对应的工具将ui文件转成python程序,这样只要在树莓派上运行这个py文件就能显示界面,布局灵活方便。这种方法我倒是会,不过...

Stephen_Lu_Fahai 2313
上一篇: 基于dragonboard 410c的智能魔镜设计(7)——UI原型设计
下一篇: 基于dragonboard 410c的智能魔镜设计(9)——UI交互控制逻辑实现
ANDYMFC_No1
博客等级 码龄17年 125粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值