66 Star 558 Fork 162

winc-link/hummingbird

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README
Apache-2.0


产品简介

蜂鸟(HummingBird) 是Golang语言实现的超轻量级物联网开发平台,他的核心服务完全由团队自行研发,从这个平台设计之初,轻量级、性能优异当作我们的一条开发准则。所以它服务都是采用Golang语言编写,占用内存极低。在数据存储上,我们创新的使用了SQLite和LevelDB当作了我们存储数据库,得益于SQLite的轻量级和LevelDB对数据的高吞吐和高压缩的特点, 经过实际测试,在1C/1G 100G存储的物理机上,可实现数千设备的连接和8000W条的消息存储。

当然,如果您对数据有可靠行、海量存储等要求,您完全可以把SQLite和LevelDB换为MySQL和TDengine,蜂鸟物联网平台兼容多种数据库连接,用户可以根据自己的业务需要选择适合自己的数据库。

“麻雀(蜂鸟)虽小,五脏俱全” 虽然蜂鸟作为一个超轻量级物联网平台,但是他的核心功能并不会消减。设备接入、产品管理、物模型、告警中心、规则引擎...这些所有物联网平台的标配功能,都可以在本平台中找到。

部分页面展示

官方文档地址

https://doc.hummingbird.winc-link.com/

快速启动

git clone https://gitee.com/winc-link/hummingbird.git

cd hummingbird/manifest/docker

docker-compose up -d

主要功能

  • 产品管理
  • 设备管理
  • 镜像管理
  • 驱动管理
  • 驱动市场
  • 系统监控
  • 告警中心
  • 资源管理
  • 规则引擎
  • 场景联动
  • 插件市场
  • 数据大屏

产品优势

  • 免费开源:我们源代码全部开源,可供个人学。
  • 性能优异:经过实际测试,在2C4G主机上,可支持60k的设备连接。模拟4k设备以1000ms的间隔向服务端发送16kb长度的属性数据,cpu使用率稳定在百分之60、内存使用率稳定在百分之16。
  • 多数据支持:平台支持SQLite、LevelDB和MySQL、TDengine数据库,用户可以根据自己的项目需要,选择适合自己的数据库。
  • 云插件:平台实现了阿里云、腾讯云、华为云、oneNet等物联网平台的对接,支持把数据上报到各大物联网平台中。
  • 支持可视化大屏:用户只需要进行简单拖拽,无需写任何代码,即可完成可视化大屏开发设计。
  • 内置产品模版库: 平台内部预置产品模版(390条),帮助用户一键创建产品。
  • 文档清晰:平台文档清晰完整,文档内部有大量使用案例和视频教程,帮助用户快速理解产品和使用产品。
  • 部署简单:平台所有服务都是以docker形式运行,支持docker-compose命令一键启动。
  • 成本优势:在中小型物联网项目(设备数<=5000)中,只需要2C4G主机即可,并且还可以支持本地部署。

联系我们

如果你在使用或者部署过程遇到任何问题,请在 QQ 群讨论或者联系作者微信。

如果你想把蜂鸟物联网平台进行商用,请提前找作者授权!最后请点个 Start 鼓励我们吧!🌟


开源贡献

  • master 分支 checkout 一个新分支(:请务必保证 master 代码是最新的)
  • 新分支命名格式:feature/username/description,例如:feature/pick/mqtt_driver
  • 在新分支上编辑文档、代码,并提交代码
  • 提交 PR 合并到 develop 分支,等待作者合并即可

开源协议

Hummingbird 开源平台遵循 Apache 2.0 协议 如果你想把蜂鸟物联网平台进行商用,请提前找作者授权!

Stargazers over time

Stargazers over time

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

hummingbird(蜂鸟)是由Golang编写的轻量级物联网平台,具有轻量级、快速、极低的内存占用等特性,特别适用于个人开发者或初创公司承接中小型物联网项目。 expand collapse
Go and 3 more languages
Apache-2.0
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/winc-link/hummingbird.git
git@gitee.com:winc-link/hummingbird.git
winc-link
hummingbird
hummingbird
master

Search

Dd8185d8 1850385 E526c682 1850385