硬件设计网

时间:2024-06-04 07:12:56编辑:揭秘君

硬件编程需要学习哪些课程?

需要学习:数字逻辑,数字电路、C或者汇编语言、微机原理与接口、编译原理、组成原理。
一、重视基础课的学习
1.计算机虽然是高科技的象征,但又受到其它专业发展的制约。计算机专业知识的学习同样要加强一些相关知识的学习。计算机学习过程往往是由硬件开始,走向软件,但最终又会走向硬件。一个软件开发高手非常注重程序效率,而效率却往往与计算机硬件知识是紧密相关。
2. 要由始至终地加强英语的学习。因为目前的计算机程序设计语言主要是外国开发的,
编代码的主要语句往往是英文,中文通常是做解释和说明用。有一定的英文基础,在计算机学习上可以事半功倍。

二、学习路线
1.基础理论知识,如操作系统、编译原理、数据结构与算法、计算机原理等,它们并非不重要。如不想成为计算机科学家的话,可以采取"用到的时候再来学"的原则。
2.一门编程语言,现在基本上都是面向对象的语言,Java/C++/C#等等。如果做WEB
开发的话还要学习HTML/JavaScript等等。
3.一种方法学或者说思想,现在基本都是面向对象思想(OOA/OOD/设计模式)。由此而衍生的基于组件开发CBD/面向方面编程AOP等等。
4.一种关系型数据库,ORACLE/SqlServer/DB2/MySQL等等。
5.一种提高生产率的IDE集成开发环境JBuilder/Eclipse/VS.NET等。
6.一种UML建模工具,用ROSE/VISIO/钢笔进行建模。
7.一种软件过程,RUP/XP/CMM等等,通过软件过程来组织软件开发的众多活动,使开发流程专业化规范化。当然还有其他的一些软件工程知识。
8.项目管理、体系结构、框架知识。
正确的路线应该是:2→3→5→6→7→8。

三、不局限于Java
Java不要孤立地去学习,需要综合学习数据结构、OOP、软件工程、UML、网络编程、数据库技术等知识,用横向纵向的比较联想的方式去学习会更有效。如学习Java
集合的时候找数据结构的书看看;学JDBC的时候复习数据库技术;采取的依然是"需要的时候再学"的原则。


硬件编程学什么

硬件编程学控制器对数据处理器的控制过程。硬件编程大致为:数字逻辑,数字电路、C或者汇编语言、微机原理与接口、编译原理、组成原理等。把硬件程序作为从算法转换到状态转换表的一个中间步骤。通过对硬件编程语言的学习,也可加深对计算、检验步骤的理解。学习硬件编程的时候要注意:计算机学习过程往往是由硬件开始,走向软件,但最终又会走向硬件。真正的软件开发高手非常注重程序效率,而效率却与计算机硬件知识是紧密相关。目前除了易语言外,所有的编程语言都是国外开发的,因此会些英语尤为重要,不求精通,但求会些基本英语,以至于不会再学习的过程中碰上一些单词就卡在那里。对于大部分半路出家学习编程的人来说,目标基本是程序员,并没有成为计算机科学家的远大理想,因此我们可以学习基础理论知识、操作系统、编译原理、数据结构与算法、计算机原理。

智能硬件产品的软件设计

我一直相信努力会有回报,一直在公司推的扩展器APP项目终于做起来了。目前UI,UE已经完成,软件开发和APP开发的接口也对好了,就等排期进行开发了。我觉得自己的运气也是极好的,本来一个APP项目是很难立起来的,这期间经历的挫折和打击也不少,还好搭着costdown项目的顺风车一起做了起来。本文主要讲讲整个硬件产品的软件设计中自己的经验,虽然以扩展器为例,但是这些点适用很多智能硬件产品的软件设计了。

既然APP都要做了,则索性将PC端和H5端都进行了一次迭代,由于接手过来的时候PC端和H5端产品都已经做了一个初版,但是都没有相关的文档,所以自己全部重新整理了一遍PC端,H5端的文档。当写一个新的产品或者功能的prd的时候,我是可以根据自己的逻辑和思路一气呵成的,但是这个我需要在同一个文档里既整理出现有产品的内容还得加入新的想法进行改进。这就要求我得先对已有的功能逻辑完全了解,然后思考这个逻辑是否合理,有没有更好的方案。更奇葩的是,有些逻辑我觉得是混乱的,在询问之前团队时,他们居然说当时有些异常情况没有遇到,没有去做相关的测试,所以没有梳理相关逻辑。因为项目的推动不容易,主要是因为开发资源比较紧张,在和开发商量的时候答应过开发,PC端和H5端的升级会尽量减少开发的工作量。因此在梳理文档的时候,只是整理现有逻辑,修改不合理的逻辑,梳理之前团队没有想的逻辑,新功能一个都没有添加。关于PC端和H5端这块,我只想给出以下建议:

遇到中途接手的项目,并且没有相关文档可以参考的时候,三点建议:

第一:一定是需要把已有的逻辑了解透彻,记录下逻辑还有优化的点以及逻辑混乱的点,自己先梳理一遍之后再去和现有的开发团队对一下有没有什么问题;

第二,考虑到开发也是根据现有的程序做修改,在文档中把有改动的点一定要做标记,清楚描述现有逻辑是怎样的,修改后是怎样的,这样方便程序员查看;

第三,除了有些逻辑进行了相关改动,为了更好的用户体验,交互方面也做了些改动。坑爹的是,翻看公司之前的UE和UI资料,发现做出来的产品和资料对不上,这可苦了UE和我了。我给UE把整个产品操作流程录了下来方便她对着现有做出来的查看,然后把要修改的地方在文档中标记出来,拜托她对着标记的地方做相应的修改。最后我再把她做出来的UE图仔仔细细对好几遍,有不对的地方得记录下来拜托她再修改,这还得来回好几次。

虽然过程繁琐了点,但是比推项目的时候开心多了。而且这样一来,我相当于把一个硬件产品所需要的软件设计全部做了一遍。虽然说扩展器的功能比较简单,但是能把架构和细节都过一遍,也学到了不少东西。毕竟之前做路由APP的时候全部做的是功能点,没有一个整体的概念。

这部分主要是根据自己做扩展器APP的经验,介绍一下在设计智能硬件产品APP的时候需要注意的部分重点。智能硬件产品APP不同于纯互联网APP,它的设计需要考虑的端比较多,每一个逻辑都需要考虑到所有的端的情况,不同端之间会相互影响,不同的网络情况又会对不同的端造成不同的影响。所以那个情况多呀,异常多呀,有些功能稍微复杂点的写出来的prd快赶上一个APP了。今天呢,不谈这些细节,细节还是放在具体的功能设计里面去说比较合适,今天只说在新做一个硬件产品APP时需要考虑的切入点。

一般来说,对硬件产品APP而言,重要的有如下模块:

接入,首配,工具

对于一个刚起步的硬件产品APP来说,其中最重要的是 接入 和 首配, 只有简易快速的配置连接硬件,才谈的上控制硬件,即工具和APP的其他功能设计。

接入主要考虑的是APP如何识别出硬件产品,识别是不是自己公司的产品(只有自家的产品才能进行通信控制)以及是自家公司的哪个产品(不同的产品,其首配,工具等等很多功能都是不一样的)。由于公司的硬件产品比较多,最好的是能够将相同性质的硬件产品集成在同一个APP里面,这样既方便产品的开发,用户体验也会更加友好。扩展器同路由器一样同属网络产品,再加上扩展器本身就需要搭配路由器使用,因此我所负责的扩展器APP是直接集成到现有的路由APP里。识别是否为自家公司的产品好做,一般待配置产品的SSID(网络名称)都是带有自家公司的名称的,根据SSID就可以直接判断了。那如何识别这是一台路由器还是一个扩展器呢?连接上设备的网络后,路由器是有IP地址的,APP可直接通过访问IP发送消息来确认是路由器。但是扩展器只有在扩展成功后才会有分配的IP,而且还是变化的,因此不能使用和路由器一样的方法进行识别。产品处于待配置状态时会广播一些字段,其中就有MAC地址,原以为可以通过对Mac地址进行管控,直接将一段Mac地址对应一类产品,这样就可以直接通过Mac地址进行识别产品类型。然而首先我们公司并没有做Mac地址的管控,其次APP通过广播接收的Mac地址信息会有一定的不准确性,因此这种方法不可行。但是广播出来的字段又没有其他有用信息可利用了,所以又回到了SSID上,我们决定给SSID加上后缀名,表征它是一个扩展器。因用户在首配和无线设置中是可以修改SSID的,为了始终能够识别(除了首配的时候需要进行识别,在用APP切换设备管理的时候也需要对连接设备进行识别),后缀名不能让用户改动,这个我们在交互层面上做了一定的设计,而在理解上,则参考Word之类的文档名称一样,只能修改名称,不能修改后缀名。从SSID上进行识别只是一个初步识别,在初步识别后还会通过尝试通信让扩展器发送一个产品类型的字段进行确认。

这样整个识别接入的逻辑才算完整,开发做起来相对简单,用户体验也没有太大影响。

不同的产品的首配流程是不一样的,这里只谈一些共识点。首配需要首先检测是否首配过,检测方法在了解后略微有点low。主要是根据WiFi名称是否被更改过以及是否有设置密码来判断。当然,若恰好某台配置过的路由器既没有修改WiFi名称还没有设置密码,那不好意思,我们判断不了,可能需要重新配置一次了。整个首配流程在设计的时候一定要简单并且防呆工作做好,不然一步错导致步步错就会带来极差的用户体验,而首配的失败会让用户对整个品牌和产品的好感度消失。无论是在路由配置还是扩展器配置中,首配基本上都是“一气呵成”的,也就是把所有的设置项都选好后记录下来,中间没有任何生效的点,只有最后一步才会将所有的设置生效。而有一点不一样,就是管理员密码的设置是直接生效的。在体验产品的时候会发现,在保存管理员密码后不进行接下来的配置,退出后再次进入则需要输入管理员密码;而且输入后不能进入首页(也就是不能),而是进入继续配置的页面。为什么要提到这些,因为有两个方向的考虑点,一是管理员密码有没有必要和接下来的配置分离开,二是用户就是不想配置连网就想使用工具控制设备的场景怎么处理。PC端现在做的还是分离和不能进入,而APP不同的是,用户在输入管理员密码后可以跳过配置,直接进入首页,因为考虑到APP是有与硬件不相关的功能(比如社区)和账户体系(比如我)。分离是为了设备管理的安全性着想;不能进入考虑的是大部分场景:没有扩展连网,设备的意义不大,所以还是尽量引导用户去配置完成。

以上几点是首配中比较容易混乱的大的逻辑点,其他的步骤是根据不同设备的连网需求而有所不同的,这个里面的细节也是非常的多,本文就不做过多的描述了。

不得不说,文章排版有点.......(不过内容可是真真切切的的实战干货)我实在不想把时间花在排版上,因为还有好多东西要学,好多内容要尽快输出。此时的我已经换了个部门,现在已经不是硬件产品经理了,目前是一名社区产品经理。所以很多东西要尽快学习熟悉起来,不然要被人怼死。以后输出的和硬件相关的产品设计文章可能不多了,社区产品相关的文章请拭目以待。


智能硬件设计方法

  北京智加团队每年接触的企业多达五百余个,每个企业因其独特的行业属性及产品特性,对于新产品开发有其独特的要求,设计的一般流程
  第一阶段:设计需求的确认
  设计师会根据你的设计需求,进行初步资料收集、分析需求的真实性及商机考量,观察认知、发现问题点,最终制定明确的计划。
  第二阶段:头脑风暴、草图
  设计师以产品属性为导向,经过一系列,科学化的分析,确定出符合人机工程原理、可制造性的产品创新造型方案,并绘制产品立体构想草图。
  第三阶段:3D建模、渲染出图
  这是一个计算机辅助设计阶段,设计师以头脑风暴会议结论为依据,以1:1的比列,创建虚拟三维产品模型,并依据产品材料、配色渲染出产品多角度应用效果示意图,以供直观查看生产后的最终效果。
  第四阶段:外观设计提案
  提供不同产品设计方案,形成外观提案报告,与客户约定时间,由设计师就设计方案面对面向客户进行说明,供客户进行选择。在造型、应用、工艺、配色等方面说明。


计算机网络技术和计算机平面设计哪个好?

都是计算机类专业,培养方向(就业方向)不同。计算机应用主要培养方向,是计算机维护维修组装的工作方向。计算机网络技术主要培养方向,是计算机通信、联网(组网)、网络建设与网安、网管的工作方向(就业门路相对宽)。计算机平面设计主要培养方向,是美术广告、媒体应用的工作方向(就业门路相对专一)。各有不同工作就业内涵。人各有梦想,你梦想什么工作就业方向的,那个方向的专业对你来说就好。你讨厌什么工作的,那个专业对你来说就不好。

能做智能硬件开发方案的公司是?请推荐个

现在很多的互联网公司都在做智能硬件,而且看到的大部分的合作模式都是找外部方案商合作的方式。不可否认这是一种快速的切入硬件领域的办法,但由于各个公司的基因文化和面向用户的差异,导致在合作的过程中会出现很多的摩擦。以下是我给出的几点建议:

1、不要要求速度快,做硬件必须踏踏实实一点一滴做起来,快不得。
正常的速度也要3个月的时间周期,可能很多人在问华强北的山寨为什么一个月能出货,这是因为山寨能快速出货的前提是基于标准件的组装,比如在已经量产的一个PCBA,只需要改一个外观或者包装就可以,的确是可以快速的出货,但新设计的产品的环节太多,缺一不可。其中周期最长的磨具,一般都要30天的时间,PCB的设计、样品到生产,一般也是需要一个月以上的时间。

2、项目在进行过程中不要经常改动,这一点特别重要。
硬件的改动非常麻烦,比如一些功能的增加,就必须要换芯片重新布一个线路板了,而外观的改动会影响到磨具结构的改动,很有可能整个磨具损坏,并且大大拖延产品周期。


设计硬件电路中要注意哪些方面?

硬件电路设计包括原理图设计和PCB板设计,在具体设计中要注意以下几点(1)在原理图设计中,要充分利用单片机的硬件资源,合理分配单片机的I/O口,提高产品的性价比。(2)单片机外围电路较多时,必须考虑其驱动能力。驱动能力不足时,系统工作不可靠,可通过增设线驱动器增强驱动能力或减少芯片功耗来降低总线负载。(3)可靠性及抗干扰设计是硬件设计中必不可少的一部分,它包括芯片器件选择、去耦滤波、印刷电路板布线、通道隔离等。(4)硬件电路的安装调试,必须制订严格的调试步骤,保证仪器仪表和器件的安全。根据智能电子钟的设计方案,绘制电路原理图和PCB板图,最后进行硬件安装与调试。

硬件设计工程师具体要掌握什么样的技术?有经验的来指导下呢

作为一个硬件工程师,既需要塌实的硬件知识也需要很好的软件知识,现在随着使用器件的更新对软件的要求越来越高.我的爸爸就是个硬件工程师 本人是搞软件的 所以我综合了一下 爸爸与我的看法 如下:
学会并掌握主板芯片级维修的基础知识、仪器仪表的使用方法和维修焊接技术,熟悉主板故障现 象和维修方法,熟悉主板维修的各种检测方法和器件替换原则,具有分析、解决问题能力,能够维修主板的常见故障~
① 硬件技术工程师课程

学会并掌握系统的微型计算机硬件基础知识和PC机组装技术,熟悉市场上各类产品的性能,理解各种硬件术语的内涵,能够根据客户的需要制定配置表,并独立完成组装和系统的安装工作。

② 硬件维护工程师课程

学会并掌握系统的微型计算机硬件基础知识和PC机组装维护技术,熟悉各种硬件故障的表现形式和判断方法,熟悉各种PC机操作系统和常用软件,具有问题分析能力,能够制定详尽的日常保养和技术支持技术书,跟踪实施所受理的维护项目。

③ 硬件维修工程师系列课程

学会并掌握较为深入的微型计算机硬件结构及数码产品的电气知识,部件维修的操作规程,熟练使用各种检测和维修工具,具有问题分析能力,能够对硬件故障进行定位和排除。硬件维修培训分模块进行,包括主板、显示器、外存储器、打印机、笔记本电脑维修课程。

④ 硬件测试工程师

学会并掌握硬件产品的硬件结构、应用技术及产品性能,熟练使用各种测试的软硬件测试工具,能够独立搭建软硬件测试平台,并评价产品、写出产品的测试报告。

⑤ 硬件设计工程师

学会并掌握IC 设计、电路设计和PCB布线标准规范,熟练使用各种模拟器和PCB布线软件,达到具有分析和调试操作水平。


响应式网站设计最早是由谁提出的?为什么这么火?

2010年5月,著名网页设计师Ethan Marcotte首次提出了响应式的设计概念,随后响应式以龙卷风一般不可逆袭的姿势席卷了前端和设计领域,成为如今网页设计的大趋势。


在 响应式网站 没有被开发出来的时候,人们针对不同的浏览设备分别设计相应的网站进行管理,当然那时候手机还没有这么流行,网页浏览、购物需求主要还是集中在电脑PC端。但是很快大家就发现一个难题,即使是同一种设备,屏幕也有上百种不同型号,难道企业要针对各种不同尺寸的屏幕独立设计一个后台网站管理吗?

答案当然是NO,当世界语言无法统一的时候,大家一起投票决定了“标准语”,在互联网行业,大家面对上百种屏幕尺寸,自然也有所谓的“标准尺寸屏幕”,企业根据标准屏幕大小设计网站。然而这只能确保部分的用户可以得到相对来说较好的用户体验,那另一部分的用户,就只能手动进行调整。

传统网站

缩小浏览器时:

很明显,屏幕显示不齐全,只能通过浏览器纵横向的进度条拉动查看更多详情,十分不便,用户纷纷反映体验很差很难受。

在这样的背景下,著名网页设计师Ethan Marcotte首次提出响应式的设计概念,那么我们来看看,到底什么是响应式?响应式为什么会这么火?

响应式在英文里是“responsive”,意为回应、响应,就是让设计的网站能够响应用户的行为,带有一种智能化理念。因此响应式网站本身是可以自动侦测设备屏幕的大小,对网站的内容和布局进行自动调整的,让网站在任何设备、任何尺寸的屏幕上都能有让人伤心悦目的显示效果。

随着响应式的开发,手机、平板等均能获得完美的浏览体验,同时因为手机等更方便携带,能做到随时随地查看等原因而更受用户喜爱。如今,手机早已经超越电脑成为主要用于浏览网页的端体。可以说响应式的到来,彻底带活了全网营销。

除了优化显示,响应式还具有如下优点:

1.超高性价比,不管是开发、运营、还是维护,成本更低。

2.兼备所有上网设备,做到统一后台管理,时实更新。

3.智能终端图片识别技术,自动加载响应图片,网络响应快。

4.搜索引擎更爱响应式网站,特别是百度,及优化效果更好。

也难怪越多越多的公司或者个人在建站时首先考虑的就是响应式网站了,不仅美观受欢迎,后台也更方便管理。耐思尼克凭借多年的互联网产品开发经验,专注为企业以及个人提供H5响应式网站建设服务,帮助大家轻松实现全网营销。

H5响应式网站建设: http://www.iisp.com/design/


设计师设计响应式网站的时候注意些什么

响应式网站设计还需要考虑以下几点:

▪ 使用不同的样式:针对不同的媒体类型如手机、电脑、平板等等,以及不同的媒体参数,如宽度、高度、分辨率等等,使用不同的显示样式。
▪ 图片自适应:微企点自助建站图片尺寸可以自适应,不能超过最大显示宽度。且在不同设备上能够等比例缩放,保证图片不变形。
▪ 页面宽度自适应:在不同宽度的设备上显示,页面也不能水平滚动。

使用微企点自助建站在移动端更需要做好相应工作,使网站展现效果更佳。

▪ 鉴于设备与网速有差异(电脑和手机,WiFi和GPRS流量等),对于图片需要一定的优化,如分辨率、大小等。
▪ 部分网站需要为移动端网站改变导航模式,如鼠标触发的下拉导航等。
▪ 在移动端能够自动调整字体大小,用于适应不同的屏幕分辨率;


电脑配置里面所说的平台是什么意思 一个平台组成包括什么部分?

平台一般指计算机系统的基础部分(cpu、主板、内存),一般单指主板,因为主板集成了计算机系统的总线(及各个部件之间的控制、交流、带宽、速率、优先级等)和其他部件的物理接口等。所以选定一个类型的主板也就基本上选定了你要用哪个公司的cpu(amd/intel,cpu插)、口用那一系列cpu(主板北桥芯片)、;内存用几代的(ddr2/ddr3),用多高频率的(1333/1660)、显卡用什么样的(pci-e 2.0/3.0)、硬盘用什么样的(sata2/3)

现在也将cpu列入平台中,因为现在的cpu有些继承了内存控制芯片、显示核心等,已经部分取代了主板的功能,但毫无疑问,主板作为各个部件联通的物理载体和信息、数据传输控制中枢和流通渠道,其地位仍然是十分重要的,也就是为什么原来在配电脑时都先考虑主板,因为主板决定其他硬件究竟有多大的舞台。


上一篇:eddieshin

下一篇:真人q秀