SFF-8485 学习笔记-2-Expander

1.适用的连接器 SAS-4i ,miniSAS-4i

2 适用的配置 HBA + Expander

3.适用的场景 SGPIO点灯

4.Expander场景下点灯分析



  从上图可以看到HBA对drive的点灯是通过对Expander发送和接受smp function request、response,然后再由Expander chip完成对drive的点灯。

  那么具体是如何实现的呢?

  to be continnued 。。。

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,可以使用Node-RED的i2c节点和函数节点来实现在i2c显示器上显示am2320传感器采集到的温湿度数值。以下是具体步骤: 1. 在Node-RED中安装i2c节点和函数节点。可以在Node-RED编辑器中点击右上方的菜单按钮,选择"Manage Palette",然后在"Install"选项卡中搜索"node-red-contrib-i2c"和"node-red-contrib-python-function"并进行安装。 2. 在Node-RED编辑器中拖拽i2c节点和函数节点到工作区,并连接它们。 3. 配置i2c节点。双击i2c节点并在弹出的对话框中选择"Read"操作,然后填写i2c地址和读取长度。通常情况下,am2320传感器的i2c地址为0x5c,读取长度为4字节。配置完成后,点击"Done"保存配置。 4. 配置函数节点。双击函数节点并输入以下代码: ```javascript const data = Buffer.from(msg.payload); const temperature = data.readUInt16BE(0) / 10; const humidity = data.readUInt16BE(2) / 10; msg.payload = `Temperature: ${temperature}C, Humidity: ${humidity}%`; return msg; ``` 该代码将i2c节点读取到的4字节数据解析为温湿度数值,并将其保存到msg.payload中。同时,将温湿度数值格式化为字符串,并将其返回。 5. 配置i2c节点的输出。将i2c节点的输出连接到函数节点的输入,并在函数节点的输出上添加一个debug节点以验证函数节点的输出是否正确。 6. 配置i2c显示器的Python脚本。在终端中输入以下命令创建Python脚本文件: ``` nano display.py ``` 在打开的文本编辑器中输入以下代码: ```python import smbus2 from RPLCD.i2c import CharLCD import subprocess lcd = CharLCD(i2c_expander='PCF8574', address=0x27, port=1, cols=16, rows=2, dotsize=8) def display(msg): lcd.clear() lcd.write_string(msg) msg = subprocess.check_output(['python3', '/home/pi/node-red/temperature.py']) display(msg) ``` 该代码通过i2c显示器库RPLCD.i2c来控制i2c显示器,在显示器上显示温湿度数值。注意,需要将上述代码中的i2c地址、行数、列数等参数根据实际情况进行修改。 完成后,按Ctrl+X,输入"Y"保存文件并退出文本编辑器。 7. 配置Node-RED的exec节点。将exec节点拖拽到工作区,并连接到函数节点的输出。双击exec节点并在弹出的对话框中输入以下命令: ``` python3 /home/pi/display.py ``` 该命令将执行Python脚本文件/home/pi/display.py,从而在i2c显示器上显示温湿度数值。 8. 点击右上方的"Deploy"按钮进行部署。完成部署后,将am2320传感器接入树莓派,并等待一段时间,即可在i2c显示器上看到温湿度数值的显示。 注意:在上述步骤中,需要将Python脚本文件和温湿度解析代码中的路径和文件名根据实际情况进行修改。此外,在使用i2c和Python脚本时,需要确保您的树莓派已经连接了am2320传感器,并且已经安装了i2c-tools和Python库RPLCD.i2c。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值