跳到主要内容
avatar logoavatar logo
主页资料关于导航
ctrlK
avatar logoavatar logo
  • 手册列表
  • 📊 嵌入式札记
  • ☁️ 云原生
  • 💻 边缘计算
    • 综述
    • 🌾kubeedge
      • 🍦安装
      • 🥧在树莓派安装
      • 🍩env
      • 🎂示例-led
      • 🍨demo
      • 🍧烂笔头
    • 🕸️EdgeX
    • 🐛baetyl
  • 🤖 神经网络
  • 📝 小芝士
  • 仓库
  • 修改
  • 编译
  • 部署
  • 结果
  • 验证

🎂示例-led

info
masterworker
192.168.1.200192.168.1.205
ubuntu20.04raspberryPi 3B
warning

注意:实例必须在模型之后创建,在模型之前删除。即先创建model再创建instance,先删除instance在删除model

仓库​

git clone https://github.com/kubeedge/examples/tree/master/led-raspberrypi

修改​

修改instance.yaml中nodename为需要调度的节点名称

spec:
deviceModelRef:
name: led-light
nodeSelector:
nodeSelectorTerms:
- matchExpressions:
- key: ''
operator: In
values:
- worker

编译​

直接编译的镜像为amd64位版本,不可再arm架构上使用,使用

uname -a

查看系统架构image-20220604141918796

image-20220604141957902

  • 如果为x86直接使用make命令编译即可,同时还会执行docker build编译镜像。

  • 如果为arm,则

    1. 修改Dockerfile,替换基础镜像

      # FROM ubuntu:latest
      FROM latelee/busybox-arm:latest
      CMD mkdir -p light_mapper
      COPY . light_mapper/
      WORKDIR light_mapper
      ENTRYPOINT ["/light_mapper/light_mapper","-logtostderr=true"]
    2. export GOARCH=arm; export GOOS="linux"; export GOARM=7; export CGO_ENABLED=1; export CC=arm-linux-gnueabihf-gcc;
      go build light_mapper.go
      docker buildx build -t 16hz/led-light-mapper:v1.1 --platform=linux/arm . --push --no-cache #如果不需要推送到镜像仓库则去掉--push命令
      file light_mapper   # 查看make后的文件属性,确认该文件在amd还是arm环境运行

部署​

依次执行

kubectl apply -f led-light-device-model.yaml
kubectl apply -f led-light-device-instance.yaml
kubectl create -f deployment.yaml

结果​

image-20220604142750985

验证​

由于没有LED,所以直接观察树莓派引脚电平变化判断操作是否有效,观察引脚为12号脚image-20220604143839018

  • 安装wiringPi以查看gpio

    //克隆库
    git clone https://github.com/WiringPi/WiringPi.git
    //进入文件夹
    cd wiringPi
    //编译安装
    ./build
    gpio readall #获取所有gpio状态
  • 当期望值为off时,引脚输出为0vimage-20220604143600946

  • 手动修改期望值为on时,引脚输出为5vimage-20220604143740821

🍨demo🍩env
  • 仓库
  • 修改
  • 编译
  • 部署
  • 结果
  • 验证