-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontent.json
1 lines (1 loc) · 33 KB
/
content.json
1
{"meta":{"title":"zhiPeng","subtitle":"","description":"","author":"zhiPeng","url":"http://linzhipeng.top","root":"/"},"pages":[{"title":"404 Not Found","date":"2020-01-27T05:52:23.488Z","updated":"2020-01-27T05:52:23.480Z","comments":true,"path":"404.html","permalink":"http://linzhipeng.top/404.html","excerpt":"","text":"404 Not Found **很抱歉,您访问的页面不存在** 可能是输入地址有误或该地址已被删除"},{"title":"关于","date":"2020-02-09T12:41:44.030Z","updated":"2020-02-09T12:41:44.034Z","comments":true,"path":"about/index.html","permalink":"http://linzhipeng.top/about/index.html","excerpt":"","text":"有关小站的资料还未整理,敬请期待"},{"title":"所有分类","date":"2020-01-27T05:54:19.694Z","updated":"2020-01-27T05:54:19.694Z","comments":true,"path":"categories/index.html","permalink":"http://linzhipeng.top/categories/index.html","excerpt":"","text":""},{"title":"我的朋友们","date":"2020-02-09T12:38:38.598Z","updated":"2020-02-09T12:38:38.602Z","comments":true,"path":"friends/index.html","permalink":"http://linzhipeng.top/friends/index.html","excerpt":"","text":"刚刚建站,有兴趣添加友情链接的欢迎下方留言"},{"title":"所有标签","date":"2020-02-09T12:34:41.457Z","updated":"2020-02-09T12:34:41.462Z","comments":true,"path":"tags/index.html","permalink":"http://linzhipeng.top/tags/index.html","excerpt":"","text":""},{"title":"","date":"2020-01-27T05:53:54.182Z","updated":"2020-01-27T05:53:54.182Z","comments":true,"path":"mylist/index.html","permalink":"http://linzhipeng.top/mylist/index.html","excerpt":"","text":""},{"title":"项目","date":"2020-02-09T12:45:37.966Z","updated":"2020-02-09T12:45:37.971Z","comments":true,"path":"projects/index.html","permalink":"http://linzhipeng.top/projects/index.html","excerpt":"","text":"项目模块还未整理,敬请期待"}],"posts":[{"title":"菜鸟入门github上传本地项目","slug":"github/githubCommit","date":"2020-02-08T08:10:45.000Z","updated":"2020-02-08T08:40:42.869Z","comments":true,"path":"2020/02/08/github/githubCommit/","link":"","permalink":"http://linzhipeng.top/2020/02/08/github/githubCommit/","excerpt":"首先通过github管理你的项目的前提是你要有一个github账户并且你的电脑或者服务器已经安装了git以下按提交资源到github的先后顺序介绍几个git命令","text":"首先通过github管理你的项目的前提是你要有一个github账户并且你的电脑或者服务器已经安装了git以下按提交资源到github的先后顺序介绍几个git命令 1.首先需要初始化git文件 1git init 执行成功后,你的项目目录下会生成一个.git的隐藏文件。 2.然后可以通过add命令添加新增文件到本地的github缓存 1git add . //这里使用. 代表所有文件,当然也可以添加特定的单个或多个文件 3.对比本地资源的提交差异 1git status 该命令会把你本地工作区和暂存区的版本进行比较,查看当前的状态。我下面的状态是已经把所有文件加入到了暂存区中,但是还没有提交到本地历史区。 4.提交差异 1git commit -m \"这里是注释。。。\" 该命令会把本地暂存区中的文件提交到本地历史区,注意只有在本地历史区中的内容才能提交到github。执行该命令后,我们所有的文件都只是在本地。没有github任何关系。 5.提交本地差异到github的仓库暂存区 1git remote add github项目URL 6.先同步github文件 1git pull --rebase origin master 如果对比commit的文件与服务器文件有差异,这条命令会先将差异打包,之后同步,最后将差异合并。 7.提交之前暂缓区的文件到github 1git push -u origin master 这条命令执行完之后,就可以在github上看到提交或者改动的代码了","categories":[{"name":"github","slug":"github","permalink":"http://linzhipeng.top/categories/github/"}],"tags":[{"name":"github","slug":"github","permalink":"http://linzhipeng.top/tags/github/"},{"name":"代码库","slug":"代码库","permalink":"http://linzhipeng.top/tags/%E4%BB%A3%E7%A0%81%E5%BA%93/"}]},{"title":"搭建自己的嵌入式博客服务器(四)hexo安装及部署到GitHub","slug":"embedded/blogServer/blogServer4","date":"2020-02-06T07:07:54.000Z","updated":"2020-02-06T07:15:32.272Z","comments":true,"path":"2020/02/06/embedded/blogServer/blogServer4/","link":"","permalink":"http://linzhipeng.top/2020/02/06/embedded/blogServer/blogServer4/","excerpt":"到了博客搭建的最后一个阶段,使用hexo框架搭建完全静态博客站点,这里还简单介绍下将博客资源部署到github上的方法。","text":"到了博客搭建的最后一个阶段,使用hexo框架搭建完全静态博客站点,这里还简单介绍下将博客资源部署到github上的方法。 一,hexo的安装使用1.安装Hexo 1npm install -g hexo-cli 之后使用hexo -v查看一下版本,版本显示成功则安装成功。 2.使用首先要初始化整个模板 1hexo init myblog myblog是你的的博客文件夹的名称,根据自己的喜好设置 更新npm 1npm install 这里简单介绍下初始化好的博客文件夹下的几个目录 node_modules: 相关的依赖不常用 public:存放生成的页面 scaffolds:生成文章的一些模板,比如使用hexo new “xx”,xx.md的默认内容可以通过修改模板来改变 source:用来存放你的文章就是 xx.md文件 themes:存放主题 常用命令接介绍 1234hexo clean //清楚原有的静态缓存hexo generate //重新生成所有的静态网页hexo deploy //部署到相关的平台 例如 githubhexo new \"xx\" //生成xx.md,新建文章 二,部署到GitHub(可以跳过,部署之后方便备份)1,安装github(linux)1sudo apt-get install git 用git –version 来查看一下版本,显示版本代表安装成功。 2, 部署博客到GitHub1.新建仓库登录GitHub.com,点击New repository,新建仓库创建一个和你用户名相同的仓库,仓库名称为 “用户名+.github.io”,这样你的博客才能通过GitHub page访问,GitHub page是GitHub新建项目后为项目建立的私人网站站点,通过 用户名+.github.io 访问时,会显示主目录下的index.html 之后create repository,创建完成。 2.生成SSH添加到GitHub 生成ssh key 12git config --global user.name \"用户名\"git config --global user.email \"邮件地址\" 可以用以下两条,检查一下你有没有输对 12git config user.namegit config user.email 确认输入无误后,然后创建SSH 1ssh-keygen -t rsa -C \"youremail\" 一路回车,过程中会提示输入一些东西,使用默认配置即可,直接回车。 生成的ssh目录下回有id_rsa私钥和id_rsa.pub公钥,需要把这个公钥放在GitHub上,这样当你链接GitHub自己的账户时,公钥私钥匹配成功才能通过git上传你的文件到GitHub上。 在setting中,找到SSH keys的设置选项,点击New SSH key,把你的id_rsa.pub里面的信息复制进去。 1ssh -T [email protected] 提示(You’ve successfully authenticated, but GitHub does not provide shell access),则表示测试成功。 3.将hexo部署到GitHub 打开hexo的根目录配置文件 _config.yml,添加以下内容 1234deploy: type: git repo: https://github.com/YourgithubName/YourgithubName.github.io.git branch: master 要想提交资源到github还需要安装deploy-git ,也就是部署的命令,这样你才能用命令部署到GitHub。 1npm install --save hexo-deployer-git 之后就可以使用hexo deploy /hexo d提交了 第一次提时,可能要你输入username和password。 提交成功后可以通过github查看是否提交成功,确认成功后可以通过用户名+.github.io查看你的博客了(注意这里是https)","categories":[{"name":"嵌入式","slug":"嵌入式","permalink":"http://linzhipeng.top/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/"},{"name":"博客服务","slug":"嵌入式/博客服务","permalink":"http://linzhipeng.top/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/%E5%8D%9A%E5%AE%A2%E6%9C%8D%E5%8A%A1/"}],"tags":[{"name":"Hexo","slug":"Hexo","permalink":"http://linzhipeng.top/tags/Hexo/"},{"name":"嵌入式","slug":"嵌入式","permalink":"http://linzhipeng.top/tags/%E5%B5%8C%E5%85%A5%E5%BC%8F/"},{"name":"博客服务","slug":"博客服务","permalink":"http://linzhipeng.top/tags/%E5%8D%9A%E5%AE%A2%E6%9C%8D%E5%8A%A1/"}]},{"title":"手机语音助手控制自己开发的物联网设备方法","slug":"embedded/VoiceAssistant/VoiceAssistant","date":"2020-02-06T03:37:30.000Z","updated":"2020-02-06T03:52:48.071Z","comments":true,"path":"2020/02/06/embedded/VoiceAssistant/VoiceAssistant/","link":"","permalink":"http://linzhipeng.top/2020/02/06/embedded/VoiceAssistant/VoiceAssistant/","excerpt":"市面上可以买到的物联网设备多种多样,而现有的提供商小米,百度,天猫等基本都是各玩各的,没有同意的设备接入控制的标准协议。所以开发者如果自行开发了一款设备没有同意的标准协议可以遵循,除非是调用厂商提供提供的SDK(实际还是按照他们的自定义协议实现)。那么如何简单实现将用siri或者小爱同学等语音助手控制自己的设备呢?下面总结下目前我了解的方法。","text":"市面上可以买到的物联网设备多种多样,而现有的提供商小米,百度,天猫等基本都是各玩各的,没有同意的设备接入控制的标准协议。所以开发者如果自行开发了一款设备没有同意的标准协议可以遵循,除非是调用厂商提供提供的SDK(实际还是按照他们的自定义协议实现)。那么如何简单实现将用siri或者小爱同学等语音助手控制自己的设备呢?下面总结下目前我了解的方法。 首先分两种情况一个是Siri,另外是小爱,小度等国内几个大厂商。 一,Siri苹果系统完全可以借助一款APP“捷径”,这个APP是可以自定义语音指令,然后执行特定的脚本的,这就非常方便了。 比如用的比较多的物联网终端控制器ESP8266,源代码提供通过访问ESP8266的IP加引脚号控制引脚高低电平的方法。例如新建捷径指令“打开灯”,捷径指令执行访问你的ESP8266的ip加引脚号的URL就可以实现控制某个引脚的高低电平,相当于可以控制某个开关信号了,具体收到这个开关信号之后的实现逻辑你就可以自定义实现了。 另外的场景(控制板非ESP8266),这个也是比较常用的到的场景。目前我的解决办法是在自己家搭建一个运行Linux的服务端,开机ssh服务,然后通过捷径,运行脚本登录SSH的方式,直接控制你的Linux服务端执行某个特定的脚本,脚本的内容就可以是具体的控制你的某个设备了。另外的话第二种方法相比第一种还有一个好处就是,你可以为你的服务端绑定域名,这样的话就可以实现远程ssh,这样不必在同一网络内,在任何地方你都可以通过siri控制你的设备了。 二,小爱小度等除了Siri之外,现在用的比较多的就是小爱同学了,想想你自己可以直接通过家里的小爱音箱控制自己开发的设备是不是也不错,这里可以关注下“点灯科技”。简单介绍下这个平台集成了目前使用广泛的语音平台,提供不同厂家的协议SDK,跳过了直接使用原厂商SDK的种种限制,比如接入小爱同学需要你有自己的服务器外,还需要有自己的APP,账号体系等等。 只需要将对应平台的SDK下载到自己的设备,设备本身实现对应的回调函数即可实现语音控制功能,不过从官网看目前该平台提供的免费版仅仅支持控制灯,传感器和插座开关,具体的实现方案点灯的官网也给出了较为详细的步骤。","categories":[{"name":"嵌入式","slug":"嵌入式","permalink":"http://linzhipeng.top/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/"},{"name":"语音助手","slug":"嵌入式/语音助手","permalink":"http://linzhipeng.top/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/%E8%AF%AD%E9%9F%B3%E5%8A%A9%E6%89%8B/"}],"tags":[{"name":"语音助手","slug":"语音助手","permalink":"http://linzhipeng.top/tags/%E8%AF%AD%E9%9F%B3%E5%8A%A9%E6%89%8B/"},{"name":"Siri","slug":"Siri","permalink":"http://linzhipeng.top/tags/Siri/"}]},{"title":"记ST_LINK与STM32的连接调试","slug":"embedded/stm32/embedded-stm32-stlink","date":"2020-01-31T07:50:55.000Z","updated":"2020-01-31T07:54:44.689Z","comments":true,"path":"2020/01/31/embedded/stm32/embedded-stm32-stlink/","link":"","permalink":"http://linzhipeng.top/2020/01/31/embedded/stm32/embedded-stm32-stlink/","excerpt":"由于先前的32板子不能但不调试,就是不支持JTAG/SWD,平时测试程序只能是编译没问题了就直接下载到板子上,如果想看运行过程中的变量的值只能是靠自己的推测,或者一些自己想出来的土办法(比如用串口打印或者led显示)。","text":"由于先前的32板子不能但不调试,就是不支持JTAG/SWD,平时测试程序只能是编译没问题了就直接下载到板子上,如果想看运行过程中的变量的值只能是靠自己的推测,或者一些自己想出来的土办法(比如用串口打印或者led显示)。 于是在某宝30多块入手mini32板子加st-link调试器。如图 客服不是很专业,给了一些资料就完事了,再问一些问题,一直支支支吾吾的答不上来。只能是自己看资料解决了。 下面将连接流程介绍下: 首先保证连线的准确,这是重中之重,一定要检查清楚。 其次安装客服给的ST-link v2驱动程序,安装过程中的选项默认就好包括路径。 安装完成后插上STLINK打开设备管理器就可以看到STLINK的设备驱动了。 现在并不能打开MDK调试,还有另外一步,安装STM32 ST-LINK Utility这里面包括了WIN10 的STlink的驱动解决方案,同样安装过程中的选项默认就好包括路径。 这时如果没有什么大问题就可以用ST-LINK Utility下载可执行文件了,如果可以固件升级却出现这这样的提示: 检查插线和主板,这表示ST-LINK连接没问题,问题是找不到主板。 ST-LINK Utility运行无误后,表明你的硬件没有一点问题,现在就可以打开MDK(keil)了,只需简单几步: 1:打开项目配置选项卡,点击Debug,配置仿真器为ST-LINK DEBUG,点击setting 正常情况下: SW或者选择JATG,右侧SW/JATG Devise 下回出现id号。。。这种情况下直接点解确定 还有可能会是这种情况: 这表示ST-LINK连接无误,而查找不到目标板,请检查插线和主板。 正常后点击Utilities选项卡: 同样设置ST-LINK DEBUG 点击Setting Download Function 选择第一项,其余默认点击下方ADD 选择你的开发板型号。 至此,ST-link调试可以在MDK下下载,单步执行。","categories":[{"name":"嵌入式","slug":"嵌入式","permalink":"http://linzhipeng.top/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/"},{"name":"stm32","slug":"嵌入式/stm32","permalink":"http://linzhipeng.top/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/stm32/"}],"tags":[{"name":"stm32","slug":"stm32","permalink":"http://linzhipeng.top/tags/stm32/"},{"name":"单片机","slug":"单片机","permalink":"http://linzhipeng.top/tags/%E5%8D%95%E7%89%87%E6%9C%BA/"},{"name":"调试器","slug":"调试器","permalink":"http://linzhipeng.top/tags/%E8%B0%83%E8%AF%95%E5%99%A8/"}]},{"title":"stm32硬件I2C实现问题","slug":"embedded/stm32/embedded-stm32-hi2c","date":"2020-01-31T07:34:33.000Z","updated":"2020-01-31T07:44:02.050Z","comments":true,"path":"2020/01/31/embedded/stm32/embedded-stm32-hi2c/","link":"","permalink":"http://linzhipeng.top/2020/01/31/embedded/stm32/embedded-stm32-hi2c/","excerpt":"虽然软件可实现I2C读取三轴传感器数据,但I2C作为一种重要的通信协议是一定要搞清楚问题所在的,SO继续研究之前的问题。(网上传言STM32硬件I2C有问题,但仍然有人实现出来)再次启动程序,依旧是停在原来的位置","text":"虽然软件可实现I2C读取三轴传感器数据,但I2C作为一种重要的通信协议是一定要搞清楚问题所在的,SO继续研究之前的问题。(网上传言STM32硬件I2C有问题,但仍然有人实现出来)再次启动程序,依旧是停在原来的位置 等待EV6,网上搜索相关问题好多人都停在了等待EV5上。分析EV5等待问题,主机发送起始信号,没能接受从设备发送的应答, 或者可能都没有发送。此问题应该是接线或IIC初始化代码的问题。 而我此时停在等待EV6,说明已检测到该设备。换句话说从设备已经知道了主设备的存在。却在主设备发送设备地址之后,接受不到从设备的应答信号,自己分析有两种可能,一是设备地址错误,从设备接受到不是自身的设备而地址自然不会应答。二是从设备已应答,而并接受到。在设备地址正确的前提下(前面已经通过例程验证过,前面的文章),思索第二种问题。 网上类似问题网友回应也是繁多,如RCC时钟初始化的问题,检查代码RCC_APB1Periph_I2C1,RCC_APB2Periph_GPIOB均已使能。又如可能i2c1默认引脚被复用,或该引脚没接上拉电阻,而不能开漏输出。将默认PIN6.PIN7重映射后依旧老样子排除该问题。 (重映射函数 1GPIO_PinRemapConfig(u32 GPIO_Remap, FunctionalState NewState) ) 再一次想到时钟问题,将IIC初始化结构体中的速率该低 原来是400000,也不行 直到在某论坛看到据说可以直接用的程序,打开发现代码并无差别,唯一不同的是,RCC初始化,其代码在主函数开始就初始化了所有的需要用到的时钟包括 ,只是初始化位置不同。。。。 终于豁然开朗。 数据读取准确无误。 之后又将初始化程序恢复到原位置发现,程序仍可正确运行,不知何解。 尝试恢复速率发现,恢复成400000后不能读取,程序停滞在等待EV6 2000000等待EV5,1000000等待EV5 只能还设为100000,可以正常工作。 至此可确定STM32硬件I2C真的有问题!!!! 程序只能在10000输出,仅供参考 .h 12345678910#ifndef __I2C_H__#define __I2C_H__ #include \"stm32f10x.h\" void I2C_GPIO_Config(void);void I2C1_Init(void);void I2C1_Write(u8 addr, u8 data);u8 I2C1_Read(u8 nAddr);#endif .c 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#include \"tb_delay.h\"#include \"i2c.h\"void I2C_GPIO_Config(){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;GPIO_Init(GPIOB, &GPIO_InitStructure);} void I2C1_Init(){I2C_InitTypeDef I2C_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);I2C_DeInit(I2C1);I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;I2C_InitStructure.I2C_OwnAddress1 = 0x77;I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;I2C_InitStructure.I2C_ClockSpeed = 10000;I2C_Init(I2C1, &I2C_InitStructure);I2C_Cmd(I2C1, ENABLE);} void I2C1_Write(u8 addr, u8 data){I2C_AcknowledgeConfig(I2C1,ENABLE); I2C_GenerateSTART(I2C1,ENABLE); while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_MODE_SELECT)){;}//EV5I2C_Send7bitAddress(I2C1,0x3a,I2C_Direction_Transmitter); while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)){;} //EV6I2C_SendData(I2C1,addr); while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_TRANSMITTED)){;} //EV8I2C_SendData(I2C1,data);while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_TRANSMITTED)){;} I2C_GenerateSTOP(I2C1,ENABLE); } u8 I2C1_Read(u8 nAddr){I2C_AcknowledgeConfig(I2C1,ENABLE); //????I2C_GenerateSTART(I2C1,ENABLE); //???????while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_MODE_SELECT)){;} //??EV5I2C_Send7bitAddress(I2C1,0x3a,I2C_Direction_Transmitter); //????????while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)){;}//??EV6I2C_SendData(I2C1,nAddr);//?????while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_TRANSMITTED)){;} //??EV8 I2C_GenerateSTART(I2C1,ENABLE); //???????while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_MODE_SELECT)){;} //??EV5I2C_Send7bitAddress(I2C1,0x3a,I2C_Direction_Receiver); //???????while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)){;} //??EV6I2C_AcknowledgeConfig(I2C1,DISABLE); //??????I2C_GenerateSTOP(I2C1,ENABLE); //???????while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_RECEIVED)){;} //??EV7return I2C_ReceiveData(I2C1); //???????}","categories":[{"name":"嵌入式","slug":"嵌入式","permalink":"http://linzhipeng.top/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/"},{"name":"stm32","slug":"嵌入式/stm32","permalink":"http://linzhipeng.top/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/stm32/"}],"tags":[{"name":"stm32","slug":"stm32","permalink":"http://linzhipeng.top/tags/stm32/"},{"name":"I2C","slug":"I2C","permalink":"http://linzhipeng.top/tags/I2C/"},{"name":"单片机","slug":"单片机","permalink":"http://linzhipeng.top/tags/%E5%8D%95%E7%89%87%E6%9C%BA/"}]},{"title":"人脸三维建模软件","slug":"3D/3Dmodeling","date":"2020-01-31T07:21:43.000Z","updated":"2020-01-31T07:43:54.826Z","comments":true,"path":"2020/01/31/3D/3Dmodeling/","link":"","permalink":"http://linzhipeng.top/2020/01/31/3D/3Dmodeling/","excerpt":"最近接触了三维打印机,学了两天3Dmax建模,打印了一个简单的手机壳,形状倒是很漂亮不过还是没达到理想的效果。","text":"最近接触了三维打印机,学了两天3Dmax建模,打印了一个简单的手机壳,形状倒是很漂亮不过还是没达到理想的效果。 设想如果打印机能把我的人脸模型打印出来岂不是更完美了,毕竟这都是电影里才有的画面,真要让我完成了,哈哈!!!于是想方设法开始找人脸三维建模软件,找了好多软件有手机APP,也有PC程序。这里简单介绍几个比较好用的软件。 先从简单的开始吧,首先是一个APP,Qlone.可以很方便的直接用手机围着建模物体转几圈就能把模型建出来,而且自己感觉模型的相似度很高。不过前提是你要把物体放在官方提供的二维码上面,软件才能识别出来物体进行建模。同样一个更大的缺点是如果想要导出模型的或需要付费。。。这对我简直是致命的缺点,我也是因此直接卸载。所以不多说了。 第二个是PC端软件,3DSOM Pro v5,软件的官网对软件有着高度的评价,官网也给处理示例或模型。需要对准一个物体进行360的无死角的拍照,最后将所有照片上传到该软件进行建模。按照步骤一步步来,我拍摄了30多张照片,最后软件只识别13张,其余的都作废了,上传完后还要对所有的图片逐个进行边缘的分离,人工处理(很累,费眼神)。经过大约20-30分钟的等待后模型就能建出来了,过程很是曲折,不过模型确实是有点意思,当然不是很完美。3DSOM的建模方法让我想到了科幻电影特效制作过程中,在整个绿色幕布下拍摄建模的方法,感觉很是类似。 该软件的中文资料较少,简单使用步骤在这 这里是官方14天试用版的下载地址 第三个是我最后决定用来人脸建模的软件FaceGen Modeller,在人脸建模方面可以说很好用了,估计在这也是网上能找到的最好用的了吧。这个软件可以直接随机生成人脸也可以根据你的照片生成真人的人脸模型,人脸模型的生成需要人脸的三张照片,正面和左右两面,然后按照软件示例中的人脸对人脸的特征点进行定位,普通电脑经过10左右就能生成人脸模型了。最后出来的模型和真人没什么区别,反正熟人一看就知道是你。人脸建模方面,强烈推荐使用。使用步骤简单不做详细的阐述了。","categories":[{"name":"3D","slug":"3D","permalink":"http://linzhipeng.top/categories/3D/"}],"tags":[{"name":"3D打印","slug":"3D打印","permalink":"http://linzhipeng.top/tags/3D%E6%89%93%E5%8D%B0/"},{"name":"建模","slug":"建模","permalink":"http://linzhipeng.top/tags/%E5%BB%BA%E6%A8%A1/"}]},{"title":"博客搬家大更新啦","slug":"top/top","date":"2020-01-31T06:57:15.000Z","updated":"2020-01-31T07:11:17.098Z","comments":true,"path":"2020/01/31/top/top/","link":"","permalink":"http://linzhipeng.top/2020/01/31/top/top/","excerpt":"","text":"","categories":[],"tags":[]},{"title":"搭建自己的嵌入式博客服务器(三)内网穿透","slug":"embedded/blogServer/blogServer3","date":"2020-01-31T05:53:41.000Z","updated":"2020-01-31T06:15:42.827Z","comments":true,"path":"2020/01/31/embedded/blogServer/blogServer3/","link":"","permalink":"http://linzhipeng.top/2020/01/31/embedded/blogServer/blogServer3/","excerpt":"由于自己的嵌入式设备,是通过自己家的路由器连接接入网络的,而黑心的运营商在我们每次上网时分配给我们的公网IP是变动的。为了实现外网设备访问我们的内网设备,我们不得不使用一个内网穿透穿透工具打通两个设备之间的通信链路。而现有的内网穿透工具参差不齐,下面我简单介绍下我试用的三个,都是免费的。","text":"由于自己的嵌入式设备,是通过自己家的路由器连接接入网络的,而黑心的运营商在我们每次上网时分配给我们的公网IP是变动的。为了实现外网设备访问我们的内网设备,我们不得不使用一个内网穿透穿透工具打通两个设备之间的通信链路。而现有的内网穿透工具参差不齐,下面我简单介绍下我试用的三个,都是免费的。 花生壳优点:自定义域名,不变动缺点:没有使用ARM Ubuntu的程序版本 借鉴前人经验,我首先使用的是众所周知的花生壳做为内网穿透工具。可以在花生壳官方域名前加自定义域名而且域名不会变动。但是没有使用我的环境的版本,官网倒是有树莓派的版本和操作文档,尝试使用树莓派的版本在我的环境下验证失败。不过官方的工单服务和客服回复的倒是挺及时的,使用树莓派的同学倒是可以尝试使用下花生壳。官网链接 Sunny-Ngrok优点:自定义域名,不变动。支持多平台缺点:免费服务器经常崩溃 这个也是前一段时间一直在使用的工具,官方的文档给的很详细,详细到提供开关服务的脚本和自启动,操作也比较简便,不过由于服务器经常崩溃,导致不能正常使用(免费厂崩溃),不过听说付费的服务器也是很稳定的。不差钱的同学可以试下。官网链接 natfrp优点:国外服务器服务稳定,支持多平台缺点:不支持提供域名,需要自己注册域名 这个是最近我才使用的,官方的操作也比较简便,不过官方提供的程序没有给开机自启动和服务开关的脚本,需要自己编写。还有就是需要自己买个域名,在域名解析服务加上natfrp上你注册的服务器的域名。这个使用了两天比较稳定,是我目前正在使用的。官网链接","categories":[{"name":"嵌入式","slug":"嵌入式","permalink":"http://linzhipeng.top/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/"},{"name":"博客服务","slug":"嵌入式/博客服务","permalink":"http://linzhipeng.top/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/%E5%8D%9A%E5%AE%A2%E6%9C%8D%E5%8A%A1/"}],"tags":[{"name":"Hexo","slug":"Hexo","permalink":"http://linzhipeng.top/tags/Hexo/"},{"name":"嵌入式","slug":"嵌入式","permalink":"http://linzhipeng.top/tags/%E5%B5%8C%E5%85%A5%E5%BC%8F/"},{"name":"博客服务","slug":"博客服务","permalink":"http://linzhipeng.top/tags/%E5%8D%9A%E5%AE%A2%E6%9C%8D%E5%8A%A1/"}]},{"title":"搭建自己的嵌入式博客服务器(二)环境搭建","slug":"embedded/blogServer/blogServer2","date":"2020-01-31T05:15:17.000Z","updated":"2020-01-31T06:55:14.826Z","comments":true,"path":"2020/01/31/embedded/blogServer/blogServer2/","link":"","permalink":"http://linzhipeng.top/2020/01/31/embedded/blogServer/blogServer2/","excerpt":"本篇简单介绍几个环境的搭建,包括node,Apache, hexo","text":"本篇简单介绍几个环境的搭建,包括node,Apache, hexo node.js和npm这里使用的是Ubantu操作系统,其他Linux系统同理, (npm是node.js的包管理工具,随同node.js一同下载) 安装curl.12sudo apt-get install curl curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - 安装nodejs和npm 12sudo apt-get install nodejs-legacysudo apt-get install npm (1)安装用于安装nodejs的模块n 1sudo npm install -g n (2)通过n模块安装指定的nodejs 123sudo n latestsudo n stablesudo n lts (3)升级npm为最新版本 1sudo npm install npm@latest -g 确认 最后通过node -v ,npm -v确认版本,nodejs版本要在6.3以上才可以 接下来在bin下面创建个软连接 12/usr/local/bin/ln -s /opt/node-v8.11.1-linux-x64/bin/hexo Apache2 下载 12sudo apt-get updatesudo apt-get install apache2 环境配置(1)/etc/apache2/apache2.conf 是主要配置文件(这个文件的末尾可以看到,include了其它所有的配置文件)。(2)/etc/apache2/ports.conf 始终包含在主配置文件中。它用于确定传入连接的侦听端口,默认为80,我们一般都会重新配置新的端口。(3)apache2的默认web目录:/var/www/html。(在/etc/apache2/sites-enabled/000-default.conf 里可以看到这个 DocumentRoot /var/www/html 配置)(4)设置默认主页的配置文件/etc/apache2/mods-enabled/dir.conf(5)进入到/etc/apache2/sites-available目录下,添加ErrorDocument 404 /404.html,在这里,你的404.html要在DocumentRoot 即可实现自定义404页面按照自己的需求,配置上面的几个文件即可 开关 12sudo /etc/init.d/apache2 [ start | stop | restart | status ]service apache2 [ start | stop | restart | status ] 验证在浏览器输入IP:端口号验证HTTP服务是否正常正常则会显示Ubantu系统默认http服务网页 Hexo 安装 1sudo npm install hexo-cli -g 配置并初始化 1234hexo init blogcd blognpm installhexo server 执行完上面几条命令之后,在浏览器打开地址:http://localhost:4000/就会看到hexo为你提供的默认主题,则表示安装成功。到 hexo官网 找个适合自己的主题。下载主题源码到 博客目录/themes/具体的如何更改hexo主题,生成页面和文章可以参考官方文档","categories":[{"name":"嵌入式","slug":"嵌入式","permalink":"http://linzhipeng.top/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/"},{"name":"博客服务","slug":"嵌入式/博客服务","permalink":"http://linzhipeng.top/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/%E5%8D%9A%E5%AE%A2%E6%9C%8D%E5%8A%A1/"}],"tags":[{"name":"Hexo","slug":"Hexo","permalink":"http://linzhipeng.top/tags/Hexo/"},{"name":"嵌入式","slug":"嵌入式","permalink":"http://linzhipeng.top/tags/%E5%B5%8C%E5%85%A5%E5%BC%8F/"},{"name":"博客服务","slug":"博客服务","permalink":"http://linzhipeng.top/tags/%E5%8D%9A%E5%AE%A2%E6%9C%8D%E5%8A%A1/"}]},{"title":"搭建自己的嵌入式博客服务器(一)","slug":"embedded/blogServer/blogServer1","date":"2020-01-31T03:41:14.000Z","updated":"2020-01-31T06:15:33.498Z","comments":true,"path":"2020/01/31/embedded/blogServer/blogServer1/","link":"","permalink":"http://linzhipeng.top/2020/01/31/embedded/blogServer/blogServer1/","excerpt":"首先介绍下我搭建自己的博客服务器的背景 前段时间逛知乎时看到某位技术大声,将自己的博客搭建在树莓派上,瞬间引起了我的兴趣,毕竟谁不想拥有一个完全属于自己的博客呀。于是就开始准备了,从网上前人的经验得出现有的搭建方案大致如下:","text":"首先介绍下我搭建自己的博客服务器的背景 前段时间逛知乎时看到某位技术大声,将自己的博客搭建在树莓派上,瞬间引起了我的兴趣,毕竟谁不想拥有一个完全属于自己的博客呀。于是就开始准备了,从网上前人的经验得出现有的搭建方案大致如下: linux –操作系统 Apache –http服务 mysql –数据库管理 PHP –后端编程语言 花生壳 –内网穿透工具 不过由于实现过程中的一些问题,我最终的实现方案是下面这个样子 linux –操作系统 Apache –http服务 Hexo –静态网页生成 Natfrp –内网穿透工具这里还要介绍下我用的开发板 友善NEO 1GRAM 博客的最终的实现效果我的博客接下里我将分章节简单介绍些搭建步骤","categories":[{"name":"嵌入式","slug":"嵌入式","permalink":"http://linzhipeng.top/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/"},{"name":"博客服务","slug":"嵌入式/博客服务","permalink":"http://linzhipeng.top/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/%E5%8D%9A%E5%AE%A2%E6%9C%8D%E5%8A%A1/"}],"tags":[{"name":"Hexo","slug":"Hexo","permalink":"http://linzhipeng.top/tags/Hexo/"},{"name":"嵌入式","slug":"嵌入式","permalink":"http://linzhipeng.top/tags/%E5%B5%8C%E5%85%A5%E5%BC%8F/"},{"name":"博客服务","slug":"博客服务","permalink":"http://linzhipeng.top/tags/%E5%8D%9A%E5%AE%A2%E6%9C%8D%E5%8A%A1/"}]}]}