37创客科创中心

 找回密码
 立即注册
查看: 1203|回复: 2

dx flask 课题

  [复制链接]

194

主题

324

帖子

2401

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2401
发表于 2024-7-25 17:32:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. from flask import Flask #网站框架
  2. from flask import render_template, request, flash, redirect, url_for, jsonify,render_template_string
  3. from flask_bootstrap import Bootstrap5
  4. from flask_login import UserMixin
  5. from flask_sqlalchemy import SQLAlchemy
  6. from flask_wtf import CSRFProtect, FlaskForm
  7. from wtforms.fields.simple import StringField, PasswordField, SubmitField

  8. # D:\37ck\wx\app0512\app240512\v311\Scripts\python.exe D:\37ck\wx\app0512\app240512\app.py

  9. # app = Flask(__name__)  #实例化一个应用
  10. # 实例化Flask
  11. app = Flask(__name__, template_folder='templates', static_folder='static')

  12. # 设置数据库配置参数
  13. app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
  14. # 设置为sqlite数据库  sqlite:///bootstrap-flask.db
  15. app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///0512.db'
  16. # memory为内存数据库
  17. # app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///:memory:'
  18. # 数据库对象应用实例化
  19. db = SQLAlchemy(app)

  20. # json中文乱码
  21. app.config["JSON_AS_ASCII"] = False
  22. # 设置安全访问密钥
  23. app.secret_key = '37ck2023dev'

  24. # 设置按钮默认样式和尺寸参数
  25. app.config['BOOTSTRAP_BTN_STYLE'] = 'primary'
  26. app.config['BOOTSTRAP_BTN_SIZE'] = 'sm'
  27. # 设置表格操作按钮
  28. app.config['BOOTSTRAP_TABLE_VIEW_TITLE'] = 'Read读取'
  29. app.config['BOOTSTRAP_TABLE_EDIT_TITLE'] = 'Update修改'
  30. app.config['BOOTSTRAP_TABLE_DELETE_TITLE'] = 'Remove删除'
  31. app.config['BOOTSTRAP_TABLE_NEW_TITLE'] = 'Create新建'
  32. # 实例化UI bootstrap5
  33. bootstrap = Bootstrap5(app)
  34. # 跨域访问实例化
  35. csrf = CSRFProtect(app)

  36. ### 创建 User 模型
  37. class User(UserMixin, db.Model):
  38.     id = db.Column(db.Integer, primary_key=True)
  39.     username = db.Column(db.String(80), unique=True, nullable=False)
  40.     password = db.Column(db.String(120), nullable=False)

  41. class ELoginForm(FlaskForm):
  42.     username = StringField('用户')
  43.     password = PasswordField('密码')
  44.     submit = SubmitField('登入')
  45.     Logout = SubmitField('退出')
  46.     Cancel = SubmitField('取消')

  47. class AIRun(db.Model):
  48.     id = db.Column(db.Integer, primary_key=True)
  49.     op = db.Column(db.String(80))
  50.     log = db.Column(db.String(120))
  51.     # sates = db.Column(db.Integer)

  52. @app.route('/')  #装饰器:网站主目录访问
  53. # 函数
  54. def index():
  55.     return 'Hello 37ck!' #返回数据

  56. @app.route('/725')  #装饰器:网站主目录访问
  57. def led():
  58.     return 'Hello 开灯控制!' #返回数据

  59. @app.route('/gjk/<id>/<username>/<email>')
  60. def gjk(id, username, email):
  61.     # 数据库获取数据
  62.     # 渲染页面:变量(数据数据赋值的对象)+html(网页语言)+css(页面样式)+js(动态效果)
  63.     # 物联网
  64.     return 'Hello 你好我是郭!       '+id+'$$$$'+username+'******'+email #返回数据

  65. # 主程序
  66. if __name__ == '__main__':
  67.     # app.run()
  68.     app.run(host='0.0.0.0', port=80, debug=True)
复制代码
回复

使用道具 举报

194

主题

324

帖子

2401

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2401
 楼主| 发表于 2024-7-25 18:44:28 | 显示全部楼层
725最新

  1. from flask import Flask #网站框架
  2. from flask import render_template, request, flash, redirect, url_for, jsonify,render_template_string
  3. from flask_bootstrap import Bootstrap5
  4. from flask_login import UserMixin
  5. from flask_sqlalchemy import SQLAlchemy
  6. from flask_wtf import CSRFProtect, FlaskForm
  7. from wtforms.fields.simple import StringField, PasswordField, SubmitField

  8. # D:\37ck\wx\app0512\app240512\v311\Scripts\python.exe D:\37ck\wx\app0512\app240512\app.py

  9. # app = Flask(__name__)  #实例化一个应用
  10. # 实例化Flask
  11. app = Flask(__name__, template_folder='templates', static_folder='static')

  12. # 设置数据库配置参数
  13. app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
  14. # 设置为sqlite数据库  sqlite:///bootstrap-flask.db
  15. app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///7252.db'
  16. # memory为内存数据库
  17. # app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///:memory:'
  18. # 数据库对象应用实例化
  19. db = SQLAlchemy(app)

  20. # json中文乱码
  21. app.config["JSON_AS_ASCII"] = False
  22. # 设置安全访问密钥
  23. app.secret_key = '37ck2023dev'

  24. # 设置按钮默认样式和尺寸参数
  25. app.config['BOOTSTRAP_BTN_STYLE'] = 'primary'
  26. app.config['BOOTSTRAP_BTN_SIZE'] = 'sm'
  27. # 设置表格操作按钮
  28. app.config['BOOTSTRAP_TABLE_VIEW_TITLE'] = 'Read读取'
  29. app.config['BOOTSTRAP_TABLE_EDIT_TITLE'] = 'Update修改'
  30. app.config['BOOTSTRAP_TABLE_DELETE_TITLE'] = 'Remove删除'
  31. app.config['BOOTSTRAP_TABLE_NEW_TITLE'] = 'Create新建'
  32. # 实例化UI bootstrap5
  33. bootstrap = Bootstrap5(app)
  34. # 跨域访问实例化
  35. csrf = CSRFProtect(app)

  36. ### 创建 User 模型
  37. class User(UserMixin, db.Model):
  38.     id = db.Column(db.Integer, primary_key=True)
  39.     username = db.Column(db.String(80), unique=True, nullable=False)
  40.     password = db.Column(db.String(120), nullable=False)
  41.     asname = db.Column(db.String(80))

  42. class ELoginForm(FlaskForm):
  43.     username = StringField('用户')
  44.     password = PasswordField('密码')
  45.     submit = SubmitField('登入')
  46.     Logout = SubmitField('退出')
  47.     Cancel = SubmitField('取消')

  48. class AIRun(db.Model):
  49.     id = db.Column(db.Integer, primary_key=True)
  50.     op = db.Column(db.String(80))
  51.     log = db.Column(db.String(120))
  52.     sates = db.Column(db.Integer)
  53.     # asname = db.Column(db.String(80), unique=True, nullable=False)
  54. class u725(db.Model):
  55.     id = db.Column(db.Integer, primary_key=True)
  56.     op = db.Column(db.String(80))
  57.     log = db.Column(db.String(120))
  58.     sates = db.Column(db.Integer)

  59. # # 初始化数据库数据========================================================================
  60. @app.route('/idb')
  61. # @login_required   #登录授权
  62. def init():
  63.     db.drop_all()
  64.     db.create_all()
  65.     for i in range(10):  #
  66.         u = User(
  67.             username=f'37ck{i + 1}',
  68.             password=f'20200808',
  69.             asname = f'bieming '
  70.         )
  71.         db.session.add(u)
  72.     db.session.commit()
  73.     return "数据库初始化完成"
  74.     # return redirect(url_for("index"))

  75. @app.route('/')  #装饰器:网站主目录访问
  76. # 函数
  77. def index():
  78.     return 'Hello 37ck!' #返回数据

  79. @app.route('/725')  #装饰器:网站主目录访问
  80. def led():
  81.     return 'Hello 开灯控制!' #返回数据

  82. @app.route('/gjk/<id>/<username>/<email>')
  83. def gjk(id, username, email):
  84.     # 数据库获取数据
  85.     # 渲染页面:变量(数据数据赋值的对象)+html(网页语言)+css(页面样式)+js(动态效果)
  86.     # 物联网
  87.     return 'Hello 你好我是郭!       '+id+'$$$$'+username+'******'+email #返回数据

  88. # 主程序
  89. if __name__ == '__main__':
  90.     # app.run()
  91.     app.run(host='0.0.0.0', port=80, debug=True)
复制代码


回复

使用道具 举报

194

主题

324

帖子

2401

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2401
 楼主| 发表于 2024-8-8 17:58:27 | 显示全部楼层
808



  1. # MQTT808
  2. ## 安装库文件
  3. ```
  4. pip install siot
  5. ```
  6. ## 导入库文件
  7. ```
  8. import siot
  9. ```

  10. #MQTT操作6步
  11. 1. 创建MQTT客户端实例
  12. ```
  13. client = siot.MQTTClient(client_id, server, port, username, password)
  14. ```
  15. 2. 连接MQTT服务器
  16. ```
  17. client.connect()
  18. ```
  19. 3. 订阅主题
  20. ```
  21. client.subscribe(topic)
  22. ```
  23. 4. 发布消息
  24. ```
  25. client.publish(topic, message)
  26. ```
  27. 5. 接收消息
  28. ```
  29. client.on_message = on_message
  30. ```
  31. 6. 断开连接
  32. ```
  33. client.disconnect()
  34. ```

  35. # 案例:
  36. ```
  37. import siot

  38. # siot1.0 MQTT初始化参数
  39. SERVER = "i.37ck.cn"  # MQTT服务器IP
  40. CLIENT_ID = ""  # 在SIoT上,CLIENT_ID可以留空
  41. IOT_PORT = 1883 #MQTT通讯端口
  42. IOT_TOPIC = '37ck/2024'  # “topic”为“项目名称/设备名称”
  43. IOT_UserName = '37ck'  # 用户名
  44. IOT_PassWord = '20200808'  # 密码

  45. # 物联网
  46. def siotpub1(msg):
  47.     # print("程序开始")
  48.     siot.init(CLIENT_ID, SERVER, user=IOT_UserName, password=IOT_PassWord, port=IOT_PORT)  # 初始化MQTT参数
  49.     # 连接MQTT服务器
  50.     siot.connect()
  51.     # print("连接完成connected")
  52.     return siot.publish(IOT_TOPIC, msg)  # siot1.0发布信息
  53.    
  54. siotpub1("Hello,SIoT!")\


  55. ```


复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|37创客科创中心

GMT+8, 2025-12-11 17:20 , Processed in 0.155341 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表