基于DragonBoard 410c的家庭智能环保卫士——(10)数据库python代码实现

Python智能机械助理 今天我敲代码做了一个智能机械助理,来来来,看一下效果图,嘻嘻???? 链接://download.youkuaiyun.com/download/LPC1010/12325879 阅读详情

        在前面的《基于DragonBoard 410c的家庭智能环保卫士——(9)数据库设计》中,本文给出个了系统主要的数据表的设计方案,并且采用powerDesign完成了相关表的绘制,这里进一步采用python脚本完成整改数据库物理层的设计,给出具体的生成表的脚本代码如下:

#coding=utf-8

import MySQLdb
import time
class smartHomeRobotDB:

    def __init__(self,host,user,passwd,database):
        self.db=MySQLdb.connect(host,user,passwd,database)
        self.cur = conn.cursor()
        self.initTable()
    #清理数据库,系统初始化的时候调用
    def removeAllTable(self):
        self.cur.execute("drop table sensorDataRecord")
        self.cur.execute("drop table userInfo")
        self.cur.execute("drop table sysDeviceRealTimeStatus")
        self.cur.execute("drop table rasterStatusRecord")
        self.db.commit()


    #创建smartHomeRobotDB系统数据表,通过该函数初始化创建膜拜单车系统数据库
    def initTable(self):
        try:
            #create userInfo tablei
            print("start create userInfo table")
            self.cur.execute("create table userInfo(userID int(12) primary key not null auto_increment,\
                                userName varchar(250) not null,\
                                userSex varchar(4),\
                                userAge int default null,\
             MD5 varchar(128) not null,\
                                phone varchar(20) default null,\
                                email nvarchar(250) default null,\
       lastLogin datetime default null,\
                                residentID varchar(15) default null,\
                                currentStatus int default null,\
                                currentIP varchar(20) default null,\
                                lastIMEI varchar(15) default null,\
                                currentBalance float default null,\
                                currentLocation point default null,\
                                lastUpadateTime datetime default null,\
                                lastLoginIP nvarchar(50) default null)"
                                )
           #create sensorDataRecord table
           #********************sensorDataRecord table**********************#
           #  
           #
            print("start create sensorDataRecord table") 
            self.cur.execute("create table sensorDataRecord(getTime datetime,\
                                getLocation varchar(25),\
                                mq2Value short,\
                                lightValue int,\
                                pm25Value1 float,\
                                pm25Value2 float,\
                                tempValue float,\
                                humValue float,\
                                ultrValue float,\
                                sensorValueStatus short)"
                            )
            #create sysDeviceRealTimeStatus table
            #*******************sysDeviceRealTimeStatus table******************************#
            #
            #
            print("start create sysDeviceRealTimeStatus table")
            self.cur.execute("create table sysDeviceRealTimeStatus(ID int primary key  not null auto_increment,\
                                curSysStatus int ,\
                                mq2SensorStatus short,\
                                fanStatus short,\
                                lightSensorStatus int,\
                                buzzerStatus short,\
                                pm25Sensor1Status float,\
                                pm25Sensor2Status float,\
                                tempSensorStatus float,\
                                humSensorStatus float,\
                                uartHMIStatus short,\
                                robotStatus short ,\
                                curLocation varchar(25),\
                                targetLocation varchar(25),\
                                guideLocation1 varchar(25),\
                                guideLocation2 varchar(25),\
                                guideLocation3 varchar(25),\
                                guideLocation4 varchar(25),\
                                guideLocation5 varchar(25),\
                                guideLocation6 varchar(25),\
                                tradingStatus int not null default 0)"
                            )
            #create rasterStatusRecord table
            #************************rasterStatusRecord table*************************************#
            #
            #
            print("start create rasterStatusRecord table")
            self.cur.execute("create table rasterStatusRecord(rasterLocation varchar(25),\
                                rasterLocationX float,\
                                rasterLocationY float,\
                                rasterStatus short)"
                            )
           
            print("create all sucessful")                   
        except:

            print("table is already create")

     通过运行上述脚本,就可以在系统中构建smartHomeRobotDB数据库系统,为系统存储和访问数据提供支持,本文采用的是mySQL数据库作为底层的数据库支持,通过提供的python接口可以方便的实现对数据的访问。

Python-智能家居解决方案 智能家居解决方案 立即下载

相关推荐

STM32CubeMX的正交编码器encoder

由于最近干活遇到需要获取正交编码的功能,所以返回来研究一下STM32CubeMX的编码器功能,之前也更新过STM32的定时器功能,但是因为之前搞平衡车的正交编码器没有搞清楚原理,就直接用了脉冲输入功能草草了事,现在也算是为之前的年轻买单了,不过看到现有的Encoder说明都比较简单,所以就当是为开发者做贡献了,我研究清楚之后来一篇博客。

ASWaterbenben的博客 1万+

告别手动安装!用Python+Requests给Windows 10打造智能软件管家(含日志追踪)

本文介绍如何利用Python和Requests库为Windows 10系统开发一款智能软件管家工具。该工具能自动检测软件版本、支持断点续传下载,并具备详细的日志追踪功能,旨在将繁琐的手动安装过程转化为高效的一键自动化操作,显著提升系统部署和软件管理效率。

root9的博客 460

Visual Studio 命令提示符工具区别与使用场景

Visual Studio会提供一系列命令提示符工具,这些工具应用在哪些场景呢?本文进行了相关介绍。

cicada15的博客 3493

windows python 访问mtp存储空间_智能家居系统 Home Assistant 系列 安装系统之Windows

Home Assistant 是一个成熟完整的基于 Python 的智能家居系统。首先得安装Python环境。在浏览器中访问Python官网www.python.org进入Downloads中的Windows下载页。选择最新发布版的3.7系列,选择其中与Windows相对应的版本(64位或32位)。下载完成以后确保选中Add Python 3.7 to PATH选项。点击Instal...

weixin_39583013的博客 428

用Multisim仿真AD630锁定放大器:从2012年电赛A题实战到避坑指南

本文详细介绍了如何使用Multisim仿真AD630锁定放大器,从2012年电赛A题实战出发,提供完整的电路搭建、参数优化及避坑指南。重点解析AD630的开关调制架构和双相位检测的工程实现,帮助读者在强噪声背景下有效提取微弱信号,提升电子设计竞赛和工程实践中的信号处理能力。

weixin_42549451的博客 203

基于STM32的简易电压、频率、占空比测量仪

任务详解:我们需要实现三个功能: 第一个是测频率的功能,输入信号为频率为1kHz~10kHz的三种波形(方波、三角波、正弦波),这也是我们最常见的三种波形。幅度是不需要测量的,所以先不关心幅度。 第二个是电压报警功能,当输入信号的幅度超过15V时,我们需要报警(这里我用了一个红色LED当报警器,有条件的还可以加个蜂鸣器)并且把此时的信号幅度显示在OLED屏幕上。 第三个是通信方式的要求,需要有串口通信功能。 第四个是计算占空比的任务,这个任务的输入是幅度为1V~10V、频率为20Hz ~1kHz的方波,需要

weixin_43469377的博客 7251

Python实验,设计一个简单的聊天机器人Robot

注:文章来自于我的博客shawnluo.com,欢迎访问~! 一、设计文档 1、基础功能 (1)欢迎和结束 (2)无法理解输入时 (3)计算 (4)讲笑话 调用joke.json中存储的 笑话,随机输出 (5)玩游戏 分为猜数与掷骰子 ①猜数采用二分查找法 ②掷骰子采用随机数 2、查询天气 调用API,使用的是国家气象局的接口(...

shawnL1的博客 1535

基于CNN-LSTM融合模型的环卫车动态称重算法研究:从频率感知到精准质量估计

摘要: 针对环卫车辆动态称重需求,本研究提出一种基于CNN-LSTM融合网络的频率分析方法。通过在实验室构建振动频率采集系统,获取不同载重下的结构响应数据,经MATLAB进行信号处理和特征提取后,建立频率-质量的非线性映射模型。实验表明,该算法在静态和模拟动态场景下平均绝对误差小于1.5%,显著优于传统方法,为环卫车智能化管理提供了高精度实时称重方案。 关键词: 动态称重;深度学习;频率分析;CNN-LSTM;MATLAB。

AI的内部世界的博客 374

Python使用psutil模块,做你的电脑管家

电脑管家 也许大家都有这样的感觉,优化完美的电脑系统,你把电脑借给一个电脑小白使用上几天,等你拿回来的时候会发现,开机各种慢,乱七八糟的软件装了一大堆。那么我们如何使用Python来获取电脑的相关数据呢?不妨了解下psutil模块! psutil学习 psutil是一个跨平台库(http://pythonhosted.org/psutil/) 能够轻松实现获取系统运行的进程和系统利用率(包...

华为云官方博客 2563

SAP 系统间 SSO 的真正价值,从 SM59 到可信 RFC 的安全设计

SAP S/4HANA系统间Single Sign-On(SSO)的核心价值在于集中管理通信身份与信任关系,而非仅减少密码输入。传统固定账号密码方式在系统规模扩大后会面临密码管理、审计追踪等挑战。通过SM59配置可信RFC目标系统,结合SSL证书或SAP Trusted System等强认证机制,能有效降低安全凭据暴露风险。SSO配置需配合授权对象、角色管理等建立清晰的信任边界,实现系统间安全通信的同时保持可审计性。这种方案特别适用于Fiori前端与S/4HANA后端等场景,通过可信RFC传递用户身份,避免

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1063

基于高斯两步移动搜寻法(2SFCA)的城市绿地可达性分析

第二步,对于每一个街道i,给定空间距离阈值d0,便形成另一个空间作用域,同样对于落在空间作用域内的每块绿地l的供给比率(Rl)利用高斯方程赋以权重,然后对这些加权后的供给比率(Rl)进行加和,便得到每个街道i的绿地可达性Ai。图3与图4是高斯两步移动搜索法的示例。在图3中,以d0为阈值,有1、2、3 三个街道中心点落在了绿地a的空间作用域内。同样在图4中,以d0为阈值,有a、c两个绿地中心点落在了街道2的空间作用域内,根据公式(3),对a、c高斯方程加权后的供需比率进行累加,便得到了街道2 的绿地可达性。

2301_77310370的博客 2404

基于DragonBoard 410c的家庭智能环保卫士——(9)数据库设计

根据前面给出的整体方案和部分已经完成的模块设计,本期blog将对设计的基于Dragonboard 410c的家庭智能环保卫士的数据库方案进行设计,为系统提供数据存储和访问支持,整个系统的数据库主要包括以下几个部分:         1)传感器数据存储与管理          该部分主要需要实现对环保机器人配置的各种环境传感器采集到的数据进行存储和管理,需要采取一定的管理策略,记录和保存近期室内

ANDYMFC的博客 2921

Pulseaudio之同步/异步(十一)

PulseAudio是一个声音服务器,一个后台进程从一个或多个音源(进程或输入设备)接受声音输入 然后重定向声音到一个或多个槽(声卡,远程网络PulseAudio服务,或其他进程)。 PulseAudio的主要特点包括: 可对每一个应用程序进行音量控制Per-application volume controls 可扩展的插件与支持可装载模块架构 兼容性许多流行的音频应用程序 支持多重音源和多重输出 低延时操作和支持延迟测量 一个对处理器资源效率零拷贝内存架构 能够发现本地网络上使用PulseAu

Android系统攻城狮 999

基于DragonBoard 410c的家庭智能环保卫士——(11)室内栅格地图位置更新Python实现

前面blog中已经介绍了如何构建家庭智能环保卫士系统数据库,并且给出了生成数据库文件和相应表的具体python代码实现,在数据库构建中,设计了rasterStatusRecord表用于记录室内栅格信息,其中每一条记录表示一个栅格位置,包括栅格的X坐标和Y坐标,以及栅格的状态信息,其中状态信息是表示该栅格是否可以通行,其有三种状态(可以通行,不可以通行,未知状态),在系统初始化的过程中,系统首先会根

ANDYMFC的博客 3728

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

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

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

基于DragonBoard 410c的家庭智能环保卫士——(5)获取kobuki位置信息

前面已经对基本方案和相关的算法进行了简单介绍,本期blog,将教大家如何快速的获取kobuki机器人的位置信息,由于之前没有研究过ROS,因此,在使用kobuki的时候,只是需要使用kobuki机器人底盘的功能,能够实现对机器人的控制和获取位置信息即可,如果大家想详细的了解kobuki机器人和ROS操作系统,可以到其官网上查询相关资料,在本期blog中将不进行讨论,只是获取我们需要的信息即可。

ANDYMFC的博客 2532

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

智能管家(一)

#第一章:项目的准备 ##一、项目的第一步 导入包        compile 'com.android.support:design:24.2.1' 软件包分类:        com.yijia.com.smartbutler.adapter        com.yijia.com.smartbutler.application        com.yijia.

奋斗&努力 1715

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

人工智能管家机器人应当具备哪些功能?拥有家电控制能力是优势

对于智能管家机器人要具备哪些功能?拥有家电控制能力是优势。         随着人工智能时代的来临,人们的家庭生活也越来越趋向于简单化、自动化。但是一个家庭一旦打算购入智能的机器人作为小助手或管家辅助使用,就会萌生这样一个问题:要买哪个牌子具备那种功能的机器人好呢?实际上,影响到消费者购买的因素有很多,比如需求、价格、实用性等方面,那么下面我就来为大家介绍一款有颜值,有深厚内功特别是在声控家

David2AI的博客 8730

基于互联网+的智能机器人管家

项目简介 这个机器人主要使用树莓派和arduino作为核心控制。机器人系统运行的环境是Linux系统、主要是C、Python、PHP等语言计划实现环境监控及报警、当室内没人的时候,机器人在室内自主巡航进行环境检测、安全报警等室内温度、煤气检测并实时上传到互联网。用户可以通过网页,或者微信对机器人进行一个部署。例如降温功能,人脸检测报警等。当用户在家时,机器人可以为用户播放音乐、电影、语音识别聊天...

weixin_42547619的博客 2193

智能管家项目总结(2)

4. 监听手机收到短信     先是广播接收器 class InnerSmsReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { L.d("sms"); //获取短信内容返回的是一个Object

Sunny的博客 1548

树梅派智能家居助理回家检测功能的实现

树梅派智能家居实现进门检测的想法和过程,采用人体红外检测模块CH-RS501、和检测路由器手机连接信息判断用户在家还是外出,并为之后用户回家后个性化设置智能管家的功能作铺垫

qq_33902044的博客 514

无人机光流定位系列——(一)原理剖析

这次参加深圳的高交会,在qualcomm展区看到了多款mini无人机,大家稍微细心一点就可以发现这些无人机都使用了一种叫光流定位的技术,很多人可能都还不明白光流定位是个什么东西,是如何进行定位的,今天就带大家一起来了解一下光流定位的原理。       在无人机上光流定位通常是借助于无人机底部的一个摄像头采集图像数据,然后采用光流算法计算两帧图像的位移,进而实现对无人机的定位,这种定位手段

ANDYMFC的博客 5万+

高通DragonBoard 410c MIPI-DIS显示功能及驱动移植

为了满足部分IOT应用对显示的需求,高通DragonBoard 410c IOT平台提供了一个具有四路MIPI-DSI接口的高速扩展口用于提供显示支持,在DragonBoard 410c开发板设计中,通过一个DSI选择器与DSI-HDMI桥进行连接,该选择器搭载在410c上,如图1所示。 图1 MIPI DSI 0口连接示意图 在实际的工作过程中410c只能驱动HDMI

ANDYMFC的博客 1万+

无人机光流定位系列——(二)实践

在本系列blog中的http://blog.youkuaiyun.com/andymfc/article/details/53316404文章中,已经对光流定位的原理进行了详细的分析,详细介绍了著名的lucas-kanade光流算法,本期,将带大家一起在dragonboard 410c上来用Python编程实现光流算法,虽然Python语言编写出来的处理效率不高,但是便于我们理解整个光流算法应用方法,并且后续

ANDYMFC的博客 9454

QT+OpenCv实现在410c开发板上实现视频目标追踪预研——目标跟踪算法选择

目标跟踪算法作为一种有着非常广泛的应用的算法,在航空航天、智能交通、智能设备等领域有着非常广泛的应用。本系列博客将教大家在410c开发板上基于linux操作系统环境,采用QT+Opencv来实现视频目标跟踪,本文将首先向大家介绍常用的粒子滤波视频目标跟踪算法,对其原理进行简单的分析,为后续进一步选择和应用算法实现目标跟踪提供基础。

ANDYMFC的博客 5422

基于410c开发板和摄像头的人体姿态估计(预研分析)

最近自己想用410c来做一个运动相关的DIY,用410c开发板搭载摄像头来实现对自己的姿态的跟踪,用到健身运动中,完成对自己所作的动作的定位和标准评判,实时提醒自己所作健身动作的标准程度,前期进行了一些调研和预研究,这里将和大家一起分享一下自己在初期的预研过程对人体姿态估计算法的理解。 图1 不同运动姿态示意图         人体姿态估计算法近年来随着体感游戏、VR等热度的不断提升,

ANDYMFC的博客 4414

QT+OpenCv实现在410c开发板上实现视频目标追踪预研——(二)粒子滤波算法测试

在前一个博客中已经对机器视觉及粒子滤波算法的相关原理进行了介绍,在基于410c平台实现粒子滤波算法的前期,我们在上位机上应用QT和Opencv完成了粒子滤波算法的实现和测试。

ANDYMFC的博客 4128
上一篇: 基于DragonBoard 410c的家庭智能环保卫士——(9)数据库设计
下一篇: 基于DragonBoard 410c的家庭智能环保卫士——(11)室内栅格地图位置更新Python实现
ANDYMFC_No1
博客等级 码龄17年 125粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值