【原创】开源基于STM32F429 SIP电话

  • Post author:
  • Post category:其他




本次分享内容:

开源STM32实现SIP电话,通过开发板连接到本地SIP服务器,然后 其它终端通过连接同一个服务器实现,开发板 到 PC/手机/板子进行语音通信的功能.



视频展示

https://www.bilibili.com/video/BV1V8411u7C4/



软件代码:

https://gitee.com/seliverwang/work_station.git



内容介绍

详细介绍:

FreeRTOS + POSIX + CycloneTCP + PJSIP

由于使用自己移植 Lwip + PJSIP没有调通过,所以用了CycloneTCP(正式用的时候,ESP32运行PJSIP是ok的)。

PJSIP 为著名开源 SIP协议栈,其中包含了网络,音频算法等,感兴趣可以去浏览官方主页:https://www.pjsip.org/

SIP服务器:由于测试我使用的 miniSIPServer ,如果大家感兴趣可以 在云服务器 安装 Asterisk 或者FreePBX。

但是一定注意,千万要会添加注册策略,不然会被别人恶意用流量,最后自己交钱。

硬件使用:

STM32F429 + WM8978

优化地方:

由于使用的是F429本身性能处理3A算法不太行,如果能有个H7,可以跑跑 3A(自动增益控制,降噪,回声消除)。

如何自己使用:

注意我使用的AC6,没有对应版本可以装,也可以将版本降低到6.xx都可以。

1.先修改网络硬件,由于我使用的CycloneTCP,如果CycloneTCP支持的网卡,可以直接添加。

2.由于原子使用了IO扩展芯片,可以删除掉,避免影响大家修改声卡。

3.修改音频接口,默认是SAI,可以用I2S,最好采样率为16000Hz,深度16bit,双声道(不是双声道需要修改,队列大小看图),Codec默认使用的wm8978。

  1. 修改远端或本地SIP 服务器地址,账号名,密码名。




结束语

也没什么好说的,这个本身是个demo版本,如果要正式场合使用,还要考虑很多东西,基本上是个思路吧,分享给喜欢搞音视频的朋友。顺便提一下,正式场合通常用的 WiFi Soc会好点比如ESP32 (我们也用的ESP32)。

现在这个环境这么差,开源出来估计会被diao吧,无所谓,大家喜欢的就互相学习吧。



版权声明:本文为weixin_47061967原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。