mpy开发物联网系列:1.mpy与服务器数据库方案

ini配置文件与非关系型数据库

在使用micropython开发esp32过程中,经常涉及到一些数据的配置读取,而esp32本身micropython难以安装很多数据库客户端的库,只能基于本地文件使用小型库,这个时候使用一些自己的轮子是非常方便的,如使用config.py对本地的ini文件进行配置读取,相当于一个字典操作,可以读取相关wifi配置的信息

config.py

import json,os
class config():
    def __init__(self,fileName):
        self.fileName = fileName
        pass
    def readConfig(self,key):
        #if self.fileName in os.listdir():
        try:
            f = open(self.fileName,‘r‘)
            data = json.loads(f.read())
            value = data.get(key)
            f.close()
            return value
        except:
            return 0
        pass
    def readAll(self):
        #if self.fileName in os.listdir():
        try:
            f = open(self.fileName,‘r‘)
            data = json.loads(f.read())
            f.close()
            return data
        except:
            return 0
    def writeConfig(self,dict):
        f = open(self.fileName,‘w‘)
        data = json.dumps(dict)
        f.write(data)
        f.close()

这个脚本可以放在esp32内当作本地ini读写的库用,只需import即可。也可以放在django等服务器端中,作为轻量级数据库使用。

而针对服务器方面而言,除了这种自己的轮子,我更推荐mongodb这种非关系型的数据库,因为使用它的思想和自己造的这个轮子非常像,都是动态可扩展,只需运行不需单独去管理字段格式,相比mysql那种关系型数据库在配置上的麻烦,这种mongodb更适合快速搭建、多次不同开发,并且性能也不差。

原文地址:https://www.cnblogs.com/sharklet/p/12579616.html

时间: 2024-08-30 01:48:35

mpy开发物联网系列:1.mpy与服务器数据库方案的相关文章

推荐开发工具系列之--PyF5(自动刷新)

昨天介绍的自动刷新的软件 推荐开发工具系列之--LinrF5(自动刷新)已经是很靠谱了:今天再介绍一款软件,同样靠谱:萝卜白菜各有所爱,看喜欢那种就用那种: 首先下载软件:http://pan.baidu.com/s/1bnttBTt 解压后双击f5.exe即可使用:绿色不用安装:然后复制项目的路径:按下面的截图输入后点击项目: 接着改文件看看效果: 支持Firefox,IE,各种手机浏览器哦,一个F5,所有客户端环境都能搞定,不需要像livereload一样装插件,F5自身就能支持带有服务器技

Web程序员开发App系列 - 开发我的第一个App,源码下载

Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 Web程序员开发App系列 - 开发我的第一个App 待续 目录 前言 源码和App下载 准备工作 查看留言页面 增加留言页面 前言 看了前面几篇文章后我们终于要开始敲代码了,由于所有前端代码都是Html静态问题,所以你用什么开发工具都可以,后台我采用MVC开发,因为Html静态文件需要打包,里面

15-iOS开发工具系列(按功能分)

iOS开发工具系列(按功能分) 这是我们多篇iOS开发工具系列篇中的一篇,此前的文章比如:那些不能错过的Xcode插件,iOS开发者有价值的工具集,iOS/OS X开发:各种工具快到碗里来!,App原型设计工具使用心得(上)& App原型设计工具使用心得(下),你用哪种工具进行iOS app自动化功能测试?,iOS 开发者必知的 75 个工具 有没有这篇文章总结的更全面的? 以下是今天的iOS开发工具系列 通用工具 HomeBrew:OS X上非常出色的包管理工具. 源码控制 Git:分布式版本

WCF 开发实战系列 (一)

也许有读者会说,为什么要谈 WCF?近期不是 Web API 比较热门?在这个手机.Devices 当道的现在,究竟有什么地方会需要使用到 WCF 呢? 的确,现在访间你能找到的课程,或者您可能参与某项目的实践 (网页应用程序.手机 APP 也好),你需要的通常也都是提供 Services 层,而这个 Services 层通常也就是 Web API.那么,难道 WCF 就无用武之地?其实也不是,看什么情况用什么技术,有一些地方是 Web API 无法做到的 前言 也许有读者会说,为什么要谈 WC

【我的物联网成长记3】如何开发物联网应用?【华为云技术分享】

[摘要] 物联网应用是设备管理.故障监测.数据分析的重要工具.本文介绍如何基于物联网平台开发应用,包括API.SDK和图形化开发三种方式. -------------------整体方案------------------- 物联网应用是企业和开发者进行设备管理.告警&故障监测.业务监控.数据分析的重要工具.物联网平台屏蔽了设备接入的复杂性和协议的差异性,解耦应用与设备,为上层应用提供统一格式的数据,简化终端厂商开发的同时,也让应用提供商聚焦于自身的业务开发.基于华为物联网平台的应用开发方案如下

iOS开发UINavigation系列二——UINavigationItem

iOS开发UINavigation系列二--UINavigationItem 一.引言 UINavigationItem是导航栏上用于管理导航项的类,在上一篇博客中,我们知道导航栏是通过push与pop的堆栈操作来对item进行管理的,同样,每一个Item自身也有许多属性可供我们进行自定制.这篇博客,主要讨论UINavigationItem的使用方法. UINavigationBar:http://my.oschina.net/u/2340880/blog/527706. 二.来说说UINavi

Android开发入门系列

<1>第一章:java简介- 掌握Java语言基础知识- 理解面向对象的编程思想- 运用Java编写简单的程序- 运用JDBC编写数据库访问程序 本章链接:http://pan.baidu.com/s/1i39OUO1 <2>第二章:Java语言基础      - 理解数据类型       - 掌握运算符       - 掌握数组       - 运用控制流语句 本章链接:(上)http://pan.baidu.com/s/1o6qHOQu(下)http://pan.baidu.c

EventMachine 系列之简单的服务器

摘要:Dota(Defence of the Ancients,远古的守护), 是指基于魔兽争霸3:冰封王座(暴雪娱乐公司出品)的多人即时对战自定义地图,可支持10个人同时连线游戏.Dota以对立的两个小队展开对战,通常是5v5,游戏目的是守护自己的远古遗迹(近卫方的生命之树.天灾方的冰封王座),同时摧毁对方的远古遗迹.DotA是目前唯一被暴雪娱乐公司官方认可的魔兽争霸RPG.Dota在大学生中的风靡程度令人咂舌,而随着玩家对游戏的理解深入,本身存在于游戏中的许多数学模型被挖掘出来进行研究.游戏

纯C++安卓开发 (ndk)系列之 ---- 常见问题

常见问题1:run as Android Application运行时提示无法识别到模拟器 解决步骤如下: (1)首先查看安卓模拟器是否已经打开 (2)如果安卓模拟器已经打开,则操作步骤为:点击Eclipse菜单栏的window项-->Open perspective-->DDMS 然后会弹出如下界面,点击红色圈点按钮,选择Reset adb,然后返回工程即可. 2 因为ndk路径改变等造成的不能编译工程失败 此类问题,则需要查看ndk设置是否正确,查看步骤为:点击Eclipse菜单栏的win