HiHope开发者社区
直播中

吉吉祥

6年用户 64经验值
擅长:接口/总线/驱动
私信 关注
[经验]

【星闪派物联网开发套件体验连载】+环境监测

非常幸运获得星闪派物联网开发套件的测评。在此感谢电子发烧友和润和提供的测评机会。


开箱           
在收到开发板前也在网上查找了一下开发套件的信息,也了解到有WS63和WS63E这两种芯片。这两种芯片的区别是WS63E支持雷达人体活动检测。而本次的开发套件是WS63E作为主控。套件分两个盒子包装,小盒子竟然是WS63的控制板,大盒子不仅有物联网套件,还有一个WS63E的控制板。着实带来不小的惊喜。外包装如下图所示:
IMG_20241009_214513.jpg

     WS63控制板如下图所示:
IMG_20241009_214612.jpg

      套件和WS63E控制板如下图所示:
IMG_20241009_214652.jpg

     各个模块都是常见的模块,在此不一一介绍了。

开发环境搭建
      开发环境可以选择Windows或Linux进行开发。在此以Windows开发环境为例。
      首先是编辑和编译软件的安装。安装链接为HiSparkStudio软件下载链接。在安装前需要先确定一下电脑是否安装Python和电脑用户名是否是中文。软件名称是HiSpark Studio,版本是1.0.0.6,该版本是支持Windows的,不过需要Python3.11.4版本的开发环境。我电脑之前安装的是3.12版本的,但是在安装过程中又强制安装了3.11.4版本的环境。所以建议如果电脑有Python环境最好提前把Python卸载掉,通过安装HiSpark Studio时自动安装对应的Python即可。在双击HiSpark Studio安装包时一直没有弹出安装确认提示,查看任务管理器时也没有对应的进程,并且用管理员身份运行也是不行。后来是通过命令运行安装包才可以安装(命令为.HiSparkStudio.exe)。
       其次是电脑用户名有中文,因为会调用一些Python插件,而软件在安装Python后的数据文件夹在用户文件夹下。在编译的时候会调用该文件夹的文件,路径就会有中文,所以会出现错误。解决办法是将用户下的Python相关文件复制到其他非中文路径的文件夹下,并且修改电脑全局变量后重启电脑就行。因为用户名一般是英文的,所以这一点比较少见,不展开细说。
       安装HiSparkStudio软件非常简单,可以一直点击Next。安装截图如下图所示
软件安装1.png

2.png

      安装成功后的软件界面如下图所示
软件界面.png

      接下来是Python插件的安装,有两种安装方式,一种是通过指令自动下载安装;一种是先下载后通过指令进行安装。第一种方法往往会安装失败,所以建议先下载再进行安装。下载方式是点击软件右侧的IDE用户指南,转到113页,依次点击下载四个文件,且指南有安装方式。

      接下来是源码的下载。下载链接为fbb_ws63源码。建议下载到D或E...盘的根目录下,并且把文件名改成ws63,文件名越短越好,否则会编译失败的。失败结果如下:



新建工程
       下载好源码后,就开始新建工程,新建工程就比较简单。点击软件比较醒目的新建工按钮,首先是选择开发芯片,这里只能选择ws63,而ws63E可能也是选择ws63的,这个需要后续的确定。


新建工程1.png

      接下来是确定工程名称,最好是全英文。最后是比较重要的选择软件包,需要选择下载源码的src文件夹,如下图所示:
新建工程1-1.png

       唯一不太友好的地方便是工程路径不能选择,也就是如果想再次新建一个工程,那工程文件和之前建立的会在一个文件夹下,这样就会比较混乱。
        接下来是编译程序,点击编译按钮就可以编译代码。不知道为何我前几次编译的时候电脑就会100%运行,并且温度也是会急速上升,下载在进行编译的话就会正常,两者开的软件也是差不多的,电脑也没有更新过系统。编译按钮和编译成功的终端提示分别如下图所示:
编译按钮.png

全编译按钮

程序下载成功提示.png


程序下载
最后是下载程序了,程序下载也是比较方便的。之前遇到其他的板卡是先按住Boot键再按Rst键,然后点击下载才能下载。而润和的WS63(E)就可以先在软件界面点击下载按钮,然后按下Rst键就可以下载程序。下载按钮如下图所示:
下载按钮.png

        接下来是工程配置,主要是配置串口号。在配置前,需要安装CH340的驱动,因CH340是比较常见的串口芯片,安装驱动程序的教程也是非常多和比较简单的,我电脑就安装过,所以忽略了驱动的安装。工程配置按钮如下所示

工程配置按钮.png

        打开工程配置后往下滑,找到程序加载选项,选择串口方式并且选择对应的串口。具体是哪个串口可以右键此电脑,点击管理,找到串口选项,找到CH340对应的串口号就行。

工程配置.png

我是先将源码下载到E盘下的某一个文件夹下,编译时会因路径过长而编译失败,所以就把整个文件夹放到E盘根目录下,后续修改文件夹名字并又重新创建了工程,所以Src文件夹下有两个工程文件,在点击下载按钮时出现如下图的提示而导致下载失败
工程文件重复造成程序下载失败.png

        如图提示打开软件安装路径下的某个软件打开串口0失败。我特意找到该软件后并手动打开对应的串口点击连接,发现是可以连接的,但是我电脑没有串口0。后来在海思社区找到原因,是因为Src文件夹下有两个工程文件,不过经过后续的测试是因为我先后在源文件在不同的路径下创建了两个工程。可以把这两个工程全部删除后重新创建就可以下载。
        点击下载按钮后会提示需要按板卡的Rst按键,按键在板卡上有丝印。不过我第一次按下后松的比较快,所以可能没有识别成功。所以建议最好多按几秒。之后会有下载的进度条,下载成功会有如下图的提示:
程序下载成功提示.png


  • 下载按钮.png
  • 新建工程2.png

回帖(2)

吉吉祥

2024-10-27 21:52:44
OLED驱动
       参考官方OLED驱动教程分享一下自己驱动OLED的过程和遇到的问题。
       首先是在新建的工程的基础上在application->samples->peripheral文件夹下新建文件夹,建议名称是OLED,所以在此也将名称命名为OLED。如下图所示:
       OLED1.png

OLED2.png

       然后将vendor\HiHope_NearLink_DK_WS63E_V03\demo\oled下的文件复制到刚才创建的文件夹下面。如下图所示

OLED3.png

      之后需要找到src\application\samples\peripheral文件夹下的两个文件,分别是CMakeLists.txt和Kconfig。可以用记事本打开,在CMakeLists.txt文件中需要再最后一行的“set(SOURCES "${SOURCES}" PARENT_SCOPE)”前加如下内容

  1. if(DEFINED CONFIG_SAMPLE_SUPPORT_OLED)
  2.     add_subdirectory_if_exist(oled)
  3. endif()
    最终效果如下

OLED4.png

       接下来便是重点了,也是我遇到的问题。这个问题也是解决了两天,一直在不停地重复官方例程,不停地删工程文件然后再重新下载和修改,但是效果一直是没有显示要显示的内容。

       在打开Kconfig文件后需要在文件最后面添加如下内容

  1. config SAMPLE_SUPPORT_OLED
  2.     bool
  3.     prompt "Support OLED Sample."
  4.     default n
  5.     depends on ENABLE_PERIPHERAL_SAMPLE
  6.     help
  7.         This option means support OLED Sample.
     添加后的效果如下

Kconfig添加内容.png

       如果注意上图画红框上面的语句的话,发现新增的和上面的差不多。是的,我刚开始也是看见差不多,所以将上面的复制下来,然后把WDT和WATCHDOG关键词改成OLED。其余的都是按教程修改的,最终的效果就是OLED没有任何的显示。所以这一点要着重注意一下。

       然后是打开HiSpark Studio软件,点击系统配置按钮,依次点击Application,Enable Sample。在Enable the Sample of peripheral选项前面的方框点击一下,点击后就会在方框内显示绿色的×,然后点击前面的加号。找到最后一行Support OLED Sample前的方框,依然会出现绿的×。然后点击最上面的Save。如下图所示

OLED7.png

      最后是重新编译一下程序将程序下载到开发板上。 需要注意的是OLED模块千万别插反,也是只有OLED模块没有箭头提示。烧写后的效果如下图所示

OLED验证.jpg

举报
  • OLED6.png
  • OLED5.png

吉吉祥

2024-10-27 22:59:30
OLED显示AHT20传感器温湿度数据
        在验证完OLED显示后,便可以大概知道HiSpark Studio软件新增文件的流程。与传统的编译软件不一样的是新增文件(程序)的接口是要在原有的程序中被调用的。在HiSpark Studio软件编译WS63(E)的方式是在CMakeLists.txt和Kconfig文件中按照指定的格式新增文件名,其实也可以说是任务名称,这个在后面分享中可以深刻的体会到。
       那么就可以在上一篇中的OLED实验进行修改让OLED显示AHT20传感器获取的温湿度数值,也是和参考例程一样的操作。
       先是在periperal文件夹下面新建environment(文件名还是和例程的保持一样),然后将demo的程序复制到刚才新建的文件夹下面。之后是修改CMakeLists.txt和Kconfig文件内容。这次可以放心的是直接复制刚才新增的OLED内容,然后将关键字改成environment(注意有些地方需要大写)。
        然后在系统配置中将之前的OLED取消掉,在后面可以看到有新增的environment选项,将该选项选上并保存。之所以要取消掉OLED,是因为会导致编译失败。最后配置如下图所示
AHT20配置.png

       最后下载到板卡上的效果如下图

AHT20显示效果.jpg

       查看environment文件夹下的文件可以看到有OLED字体文件(ssd1306_fonts.c和ssd1306_fonts.h)、OLED驱动文件(ssd1306.c和ssd1306.h)、AHT20驱动文件(aht20.c和aht20.h)和温湿度数据在OLED显示文件(aht20_test.c和aht20_test.h)。其中最终要的是aht20_test.c文件。打开aht20_test.c文件后,可以看到有温度和湿度这四个字的字库,然后是AHT20实验的任务和创建任务相关的函数定义。

       首先看创建任务,函数定义如下
  1. void Aht20Test(void)
  2. {
  3.     osal_task *task_handle = NULL;
  4.     osal_kthread_lock();
  5.     task_handle = osal_kthread_create((osal_kthread_handler)Aht20TestTask, 0, "PwmTask", I2C_TASK_STACK_SIZE);
  6.     if (task_handle != NULL) {
  7.         osal_kthread_set_priority(task_handle, I2C_TASK_PRIO);
  8.         osal_kfree(task_handle);
  9.     }
  10.     osal_kthread_unlock();
  11. }
      创建任务的方式和其他的操作系统差不多,就是配置内存空间、任务句柄和优先级等。不同的是在创建任务前先调用了系统加锁,原因是src\application\ws63\ws63_liteos_application文件夹下的main.c文件可以找到main函数,在第666行附近可以看到操作系统启动代码,如下
  1. /* Start LiteOS */
  2.     (void)osKernelStart();
      所以猜测在创建AHT20任务的时候操作系统已经开始运行了。所以在创建AHT20任务前需要加锁,防止创建出问题。这也是我的猜测,我也没有深入学习嵌入式操作系统。

       在创建任务后面有这么一行代码

  1. app_run(Aht20Test);
       看起函数名是启动Aht20Test任务。这个就有点摸不着头脑了。没有发现它在工程中调用的地方。不过在系统配置中只有选择的选项才会被创建任务或被执行。所以猜测可能是那里调用了app_run(Aht20Test);。而Aht20Test正好是创建任务的函数。

        任务具体实现的方式便比较常见的,就是先初始化IIC,然后初始化OLED和AHT20。初始化后判断AHT20的状态,这也是AHT20驱动的需求。最后便是while(1)死循环1S更新一下温湿度数据。

         通过该例程的简单了解,发现鸿蒙系统也是非常容易入手的,和其他的操作系统区别不是很大。不过就是HiSpark Studio添加新的任务比较麻烦,希望以后可以有图形的配置自动修改CMakeLists.txt和Kconfig文件,而不是先修改文件内容才能有对应的选项。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分