我的天,终于成功了

本文记录了作者从重装系统后开始配置数据科学学习环境的过程,包括安装必要的软件如R、RStudio、SublimeText等,并详细描述了如何搭建Spark学习环境,解决了一系列技术难题。

随着电脑重装系统的完成,我好像拥有了一台崭新的电脑一般,幸福o(* ̄▽ ̄*)o!然后就开始风风火火在上面部署自己的“数据科学家”学习环境。过程如下:

-R

-RStudio

-Sublime Text

-Java

-Scala

后来想弄一个spark的学习环境,在dos受挫后于是又装了:

-Scala IDE(eclipse)

然后就开始捣鼓。有了Scala IDE 跟spark还没关系啊,准备弄成spark本地单机模式。

最初下的是spark源码,由于sbt下不来,又重新去下了spark 二进制版本,作为jar包在IDE里引用。

然后就开始弄一个wordCount程序。第一个NoclassFound错误报出来时我还一头雾水,后来知道要去找jar包。接着一个又一个类似错误爆出来时,我已经淡定了,直接去网上搜索相应jar包下载引用。直到最后,引用了这些自己下载的jar包,终于有结果了,呜呜~~~~(>_<)~~~~

jar包:

结果如下:

太幸福了!开始跟新电脑的蜜月期,开始数据科学家学习之路!

转载于:https://www.cnblogs.com/xiebiandreamhigh/p/5067919.html

<think>我们正在为一位大一学生设计树莓派智能家居项目选择IO扩展方案。用户关注点明确:简单易用、初学者友好。 根据引用[1]和[2],微雪Serial Expansion HAT需要安装多个驱动(BCM2835/wiringPi/Python库)和内核驱动,配置过程复杂(涉及修改C头文件、编译等)。而引用[2]中微雪环境传感器扩展板也遇到I2C未开启的问题,需要手动解决。 相比之下,MCP23017作为常见I2C扩展芯片,在树莓派上只需开启I2C接口并安装简单Python库(如Adafruit_MCP230xx)即可使用,更适合初学者。 具体建议如下: 1. **易用性**:MCP23017扩展板配置步骤更简单: - 树莓派开启I2C:`sudo raspi-config` → Interface Options → I2C → Enable - 安装库:`pip install adafruit-circuitpython-mcp230xx` - 接线:仅需连接SDA/SCL/GND/VCC四根线 - 示例代码仅需10行(见下文) 2. **成本与扩展性**: - MCP23017芯片单价约$1,扩展板约$5,可级联8个(共128个GPIO) - 微雪HAT价格约$15-20,且功能复杂(含UART等)对智能家居基础项目可能冗余 3. **学习资源**: - MCP23017有大量中文教程(如引用[2]用户最终通过开启I2C解决问题) - 微雪HAT需查阅官方文档(如引用[1]的驱动安装流程),对新手门槛高 4. **项目匹配度**: - 智能家居常见需求(传感器读取、继电器控制)均为低速IO操作,MCP23017的I2C速度(100-400kHz)完全满足 - 无需Serial HAT的高速SPI或UART功能 **结论**:推荐MCP23017扩展板,更适合初学者实现智能家居项目。 示例代码(控制MCP23017的GPIO): ```python from adafruit_mcp230xx.mcp23017 import MCP23017 import board import busio i2c = busio.I2C(board.SCL, board.SDA) # 使用树莓派默认I2C引脚 mcp = MCP23017(i2c) # 初始化MCP23017 pin0 = mcp.get_pin(0) # 获取GPIO0 pin0.switch_to_output() # 设为输出模式 pin0.value = True # 输出高电平 ``` 注意事项: - 级联时需设置不同I2C地址(通过A0/A1/A2引脚接地/VCC调节) - 若遇I2C错误,按引用[2]方法检查I2C是否开启 §§相关问题§§ 1. 树莓派如何开启I2C接口并检测连接的MCP23017设备? 2. MCP23017扩展板的GPIO能否驱动继电器模块?需要额外电路吗? 3. 有没有适合初学者的智能家居项目示例(使用MCP23017扩展板)?</think>针对树莓派智能家居项目中大一学生的需求(简单易用、初学者友好),结合引用内容分析,以下是两种扩展方案的对比及推荐: --- ### **方案对比与推荐** #### 📌 核心结论:**推荐 MCP23017 扩展板** **理由**: 1. **配置简单** - **MCP23017**:仅需开启树莓派 I2C 接口(`sudo raspi-config` → Interface → I2C → Enable),安装通用库(如 `python-smbus`)即可操作,引用[2]中用户通过简单调试即可运行[^2]。 - **Serial Expansion HAT**:需安装多层级驱动(BCM2835/wiringPi/Python库),修改C头文件(如 `SC16IS752GPIO.h`),引用[1]显示流程复杂(需 `apt-get` 下载依赖、`dpkg` 安装驱动)[^1]。 2. **开发友好性** - **MCP23017**:Python库成熟(如 `Adafruit_MCP230xx`),代码仅需5行: ```python import Adafruit_MCP230xx mcp = Adafruit_MCP230xx.MCP23017(address=0x20) # 初始化 mcp.config(0, Adafruit_MCP230xx.GPIO.OUTPUT) # 设置引脚为输出 mcp.output(0, 1) # 输出高电平 ``` - **Serial HAT**:需理解底层协议(如UART/CAN),引用[1]中需操作Linux内核驱动,涉及周期性报文发送等复杂逻辑[^1]。 3. **成本与扩展性** - **MCP23017**:单芯片约¥5,可级联8片(扩展128个GPIO),适合控制多个传感器/继电器。 - **Serial HAT**:整板约¥80-120,功能冗余(含UART/CAN),对纯GPIO扩展项目性价比低。 4. **稳定性** - **MCP23017**:I2C协议简单,初学者调试方便(如引用[2]中I2C未开启问题易排查)[^2]。 - **Serial HAT**:驱动兼容性问题多(如引用[1]需修改内核文件),易因配置错误导致初始化失败。 --- ### **智能家居项目适配场景** | **需求** | **MCP23017 方案** | **Serial HAT 方案** | |------------------------|-------------------------------------------|-----------------------------------------| | 控制LED/继电器 | ✅ 直接驱动,代码简单 | ❌ 功能过剩,配置复杂 | | 读取温湿度传感器 | ✅ 通过GPIO读取数字信号 | ❌ 需额外串口解析 | | 多设备扩展(如窗帘电机)| ✅ 级联多芯片低成本扩展 | ❌ 仅单板扩展,成本高 | | 学生上手速度 | ✅ 1小时内完成配置和测试 | ❌ 需1-2调试驱动 | --- ### **操作建议:MCP23017 快速入门** 1. **硬件连接**: - 树莓派 SDA→MCP23017 SDA, SCL→SCL, 3.3V→VCC, GND→GND。 2. **开启I2C**: ```bash sudo raspi-config # → Interface Options → I2C → Enable sudo reboot ``` 3. **安装库**: ```bash pip3 install adafruit-circuitpython-mcp230xx ``` 4. **测试代码**(控制GPIO0): ```python import board import adafruit_mcp230xx i2c = board.I2C() mcp = adafruit_mcp230xx.MCP23017(i2c) pin0 = mcp.get_pin(0) # 获取GPIO0 pin0.switch_to_output(value=1) # 输出高电平(点亮LED) ``` --- ### **为什么不推荐 Serial Expansion HAT?** - **过度复杂**:智能家居项目通常只需基础GPIO控制,Serial HAT的UART/CAN功能用不上。 - **调试门槛高**:引用[1]中驱动安装涉及内核编译(`dpkg -i` 等命令),对大一学生极易出错[^1]。 - **成本浪费**:80%的功能(如工业通信协议)在智能家居中无用武之地。 > 💡 **总结**:MCP23017 以 **低成本、低门槛、高灵活性** 成为初学者理想选择。Serial HAT 更适合**工业通信或多协议集成**的专业场景。 --- ### **相关问题** 1. MCP23017 在树莓派上如何级联扩展更多IO口? 2. 智能家居项目中,MCP23017 驱动继电器模块的具体电路如何设计? 3. 如何用 MCP23017 同时读取多个温湿度传感器(如DHT11)? [^1]: 树莓派+多个微雪电子Serial Expansion HAT扩展板叠加方法(扩展多个IO口、串口)。堆叠完成后,从官网下载扩展板的示例程序资料,并首先打开 Serial_Expansion_HAT_code/c/gpio文件下的SC16IS752GPIO.c与SC16IS752GPIO.h两个文件... [^2]: 树莓派和微雪环境传感器扩展板,在解决 3 个问题后,我终于成功执行了 sudo python test.py 拿到了传感器...。怀疑是不是 i2c 未开启,操作系统默认关闭这个?搜了一下怎么开启这个,嘿嘿,终端里出现了 i2c enabled。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值